考研408总结【数据结构】---栈和队列

851 阅读2分钟

这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战

考研倒计时:27天

栈和队列

掌握好栈和队列的特点,进行一些相关推导即可。

具体知识点就不赘述了,主要提一下需要记忆的点。

首先常见的题型:

  1. 给出入栈序列,推导出栈序列个数,或者与队列结合

     - 一般考虑手工推导即可
     - n个不同元素进栈,出栈序列的个数为(1/n+1)Cn 2n
    
  2. 循环队列(重点)

if rear指向队尾元素的下一个,front指向队首元素。

队满条件:(Q.rear+1)%MaxSize == Q.front

队空条件: Q.front == Q.rear

队列中元素的个数: (Q.rear-Q.front+MaxSize)%MaxSize

ps:还可以让front指向队首前一个元素,rear指向队尾元素等等各种方式,具体根据题目的要求来进行推导即可。

【2014年408】

image.png

点击查看答案A
  1. 共享栈和双端队列,小众知识点见王道书讲解。

  2. 栈和队列的应用。{重点!}

最常见首先是栈在表达式求值的问题,如果只是前缀、中缀、后缀转换后的最终结果,可以通过加括号的小tip来直接得到相应的结果,如果是问某一步栈中的元素是什么,则需要乖乖的手工操作。

然后是用栈来匹配括号的问题、栈与递归表达式的结合、队列在层次遍历的应用。

解决主机和打印机之间速度不匹配可以使用队列解决。

【2015年408】 image.png

点击查看答案A

特殊矩阵

另一个考点就是特殊矩阵的压缩,题目会告诉你以什么样的方式去存储数组,需要求解相应的表达式等等。 书上给出了一些公式,个人认为还是手推比较稳妥,注意下标和序号的细节问题。

最后注意的点就是稀疏矩阵可以采用三元组和十字链表法来存储。

ps十字链表法在图这一章用来存储有向图,另一个是邻接多重表用来存储无向图。

【2018年408】 image.png

点击查看答案A

部分内容待补充完善~

如有误,请多指正!