1. 栈 1.1 分类 顺序栈:顺序线性表实现 链式栈:单向链表存储堆栈 1.2栈的应用 1)数制转换 View Code 2)表达式的转换 中缀表达式: a+b*c ; 前缀表达式: +a*bc; 后缀 ...
本节讨论最简单和最基本的三种数据结构:表,栈和队列。 每种程序都明晰地至少使用一种这样的数据结构,而栈在程序中总要间接地用到。 内容: .介绍抽象数据类型 ADT 的概念 .阐述如何对表进行有效的操作 .介绍栈ADT及其在实现递归方面的应用 .介绍队列ADT及其在操作系统和算法设计上的与应用。 抽象数据类型 程序设计的基本法则之一是:例程不应超过一页。 模块化的优点: 调试小程序比调试大程序容易 ...
2016-05-27 17:48 0 2400 推荐指数:
1. 栈 1.1 分类 顺序栈:顺序线性表实现 链式栈:单向链表存储堆栈 1.2栈的应用 1)数制转换 View Code 2)表达式的转换 中缀表达式: a+b*c ; 前缀表达式: +a*bc; 后缀 ...
目录 3.1 抽象数据类型 3.2 表ADT 3.2.1 表的简单数组实现 3.2.2 链表 3.2.3 程序设计细节 3.2.4 常见的错误 3.2.5 双链表 3.2.6 循环链表 3.2.7 例子 ...
数据结构与算法分析 C 语言描述 引论 从N个数中确定第k个最大值,称为选择问题(selection problem). 不是所有的数学递归函数都能有效地(或正确地)由C的递归模拟来实现. 递归将反复进行直到基准情形出现. 递归的四条基本法则: 基准情形: 不需 ...
是为什么我们要研究数据结构的原因),数据结构往往同高效的检索算法和索引技术相关。 常见的数据结构有数组、栈、 ...
问题引出 假设有一道题目:有一组N个数而要确定其中第k个最大者,我们称之为选择问题,那么这个程序如何编写?最直观地,至少有两种思路: 1、将N个数读入一个数组中,再通过某种简单的算法,比如冒泡排序法,以递减顺序将数组排序,则第k个位置上的元素就是我们需要的元素 2、稍微好一些的做法,将k ...
hello,everybody. 我们又见面了,这次我们一起来学习数据结构中,非常有意思的两种结构—Stack ,Queue. 首先来学习一下栈: 栈:限定只在表尾进行删除插入操作的线性表。 顾名思义,栈是一种特殊的线性表。它特殊在什么地方呢?它只能在表尾进行插入或删除操作,又就意味着 ...
Hello,everybody.我们又见面了。今天我们来学习一下队列这个数据结构,let’s Go,开始我们的征程吧。 首先,举两个生活中的常见例子。相信大家,在用电脑工作娱乐时,都会碰到这样的现象。当我们点击程序或进行其他操作时,电脑处于死机状态。正当我们准备Reset时,它突然像打了鸡血 ...
目录 6.1 模型 6.2 简单实现 6.3 二叉堆 6.3.1 结构性质 6.3.2 堆序性质 6.3.3 实现 6.3.4 其他的堆操作 6.4 优先队列的应用 6.4.1 选择问题 ...