其他分享
首页 > 其他分享> > 第四章 栈与队列

第四章 栈与队列

作者:互联网

 

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