408答疑
文章目录
一、栈
- 文章链接: 点击跳转
二、队列
- 文章链接: 点击跳转
三、数组和特殊矩阵
- 文章链接: 点击跳转
四、参考资料
鲍鱼科技课件
b站免费王道课后题讲解:
网课全程班:
26王道考研书
五、总结
栈
顺序栈
深入掌握顺序栈的管理和实现
顺序栈是一个数组连续空间结构,入栈需判满、出栈需判空。需要注意 top
的初始值,可能为 0,也可能为 -1,将影响入栈和取栈顶元素的指针操作。
掌握栈的基础应用
理解栈结构所发挥的作用。
链栈
深入掌握链栈的管理方式和实现
为了效率,一般链栈的入栈和出栈均在头部进行,所以要注意头指针的修改问题。
链栈的 top
为何不在链表的尾部?因为删除最后一个结点难以找到前驱结点。
链栈是通过链表来实现逻辑结构的栈
所以链表不可以随意操作,因此栈是操作受限制的线性结构。
注意事项
保持好心态!!!
不要因为栈的代码多就慌了,理解原理先,栈和队列的代码甚至可以自己用数组代替!!!
顺序栈 top 从 0 开始还是从 -1 开始
看课并自己画图理解,自己会分析才是王道!!!top
不同,顺序栈操作代码会有些区别,需要自己过一遍才能真正理解!!!
队列
顺序队列
深入掌握顺序队列的管理方式和实现
顺序队列有容量的限制,所以入队要判满,出队要判空。
理解什么是“假溢出”现象
链式队列
深入掌握链式队列的管理方式和实现
链式队列具有头尾指针,入队出队需要正确修改指针。
链式队列是通过链表来实现逻辑结构的队列
针对链表不可以随意操作,因此队列是操作受限制的线性结构。
循环队列
从结构定义来看,循环队列跟顺序队列的定义没有什么区别
循环队列最大的特点就是希望空间能够循环利用,所以如何实现循环就是关键。
循环的关键在于:对容量取模( %MAX_SIZE)
因此循环队列的代码编写难点在于条件的判断。