第四章 栈与队列
作者:互联网
1.栈的定义
定义:栈是只允许在一端进行插入和删除操作的线性表。后进先出(LIFO)
栈顶:线性表允许进行插入和删除的那一端。
栈底:固定的,不允许进行插入和删除的那一端。
卡特兰数:n个元素进栈,一共会有C(n,2n)/(n+1)种不同的出栈结果。
2.队列的定义
定义:队列也是一种操作受限的线性表,只允许在表的一端进行插入,在表的另一端进行删除。先进先出(FIFO)
队头:允许进行删除的一端,又称为队首。
队尾:允许进行插入的一端。
3.顺序栈的定义及特点
定义:采用顺序存储的栈称为顺序栈,它是利用一组连续的存储单元存放自栈底到栈顶的数据元素,同时附设一个指针(top)指示当前栈顶元素的位置。
特点:当对栈的最大使用空间估计不足时,有可能会发生栈上溢。
4.链式栈的定义及特点
定义:采用链式存储的栈称为链栈。
特点:优点是便于多个栈共享存储空间和提高其效率,且不存在栈满上溢的情况。在表头进行插入和删除。
5.顺序队列的定义及特点
定义:队列的顺序实现是指分配一块连续的存储单元存放队列中的元素,并附设两个指针:队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置。
特点:连续的存储单元存放。
6.链式队列的定义及特点
定义:队列的链式表示为链队列,它实际上是一个同时带有队头指针和队尾指针的单链表。头指针指向队头结点,尾指针指向队尾结点,即单链表的最后一个结点。
特点:不存在队列溢出的情况。
7.栈的应用
(1)栈在括号匹配中的应用
(2)栈在递归中的应用
8.队列的应用
(1)队列在层次遍历中的应用
(2)队列在计算机系统中的应用
考试要求
掌握栈、队列的逻辑结构,以及基本操作;
掌握顺序存储结构对栈和队列基本操作的实现;
掌握链式存储结构对栈和队列基本操作的实现;
掌握顺序存储结构中实现循环队列的具体要求;
理解递归调用和栈之间的关系;
掌握栈和队列的经典应用。
标签:队尾,定义,队列,队头,链式,第四章,指针 来源: https://www.cnblogs.com/cendy/p/ds_4.html