这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战
考研倒计时:27天
栈和队列
掌握好栈和队列的特点,进行一些相关推导即可。
具体知识点就不赘述了,主要提一下需要记忆的点。
首先常见的题型:
-
给出入栈序列,推导出栈序列个数,或者与队列结合。
- 一般考虑手工推导即可 - n个不同元素进栈,出栈序列的个数为(1/n+1)Cn 2n -
循环队列(重点)
if rear指向队尾元素的下一个,front指向队首元素。
队满条件:(Q.rear+1)%MaxSize == Q.front
队空条件: Q.front == Q.rear
队列中元素的个数: (Q.rear-Q.front+MaxSize)%MaxSize
ps:还可以让front指向队首前一个元素,rear指向队尾元素等等各种方式,具体根据题目的要求来进行推导即可。
【2014年408】
点击查看答案
A-
共享栈和双端队列,小众知识点见王道书讲解。
-
栈和队列的应用。{重点!}
最常见首先是栈在表达式求值的问题,如果只是前缀、中缀、后缀转换后的最终结果,可以通过加括号的小tip来直接得到相应的结果,如果是问某一步栈中的元素是什么,则需要乖乖的手工操作。
然后是用栈来匹配括号的问题、栈与递归表达式的结合、队列在层次遍历的应用。
解决主机和打印机之间速度不匹配可以使用队列解决。
【2015年408】
点击查看答案
A特殊矩阵
另一个考点就是特殊矩阵的压缩,题目会告诉你以什么样的方式去存储数组,需要求解相应的表达式等等。 书上给出了一些公式,个人认为还是手推比较稳妥,注意下标和序号的细节问题。
最后注意的点就是稀疏矩阵可以采用三元组和十字链表法来存储。
ps十字链表法在图这一章用来存储有向图,另一个是邻接多重表用来存储无向图。
【2018年408】
点击查看答案
A部分内容待补充完善~
如有误,请多指正!