从题目选项的对错中汲取栈和队列实现的知识要点

今天我想分享我从题目选项的对错中汲取栈和队列实现的知识要点,一直以来,我都以这样的方式去记录我的错题,尤其是选择题,在我看来,若是完整的记录整道题,那太浪费时间了,但若是只记录选项,对的选项通过自己的加工就能成为正确的知识点,错的选项只要添加否定词,便成为了具有否定含义的知识点。

以下便是在栈和队列实现选择题中所收集到的部分知识点:

1.栈是一种后进先出的数据结构,队列是先进先出的。

2.顺序表和链表都可以用来实现栈,不过一般都使用顺序表,因为栈相当于是阉割版的顺序表,只用到了顺序表的尾插和尾删操作,顺序表的尾插和尾删不需要搬离元素,效率非常高,故一般都是使用顺序表实现。

3.栈只能在栈顶进行输入的插入和删除操作。

4.栈是有入栈和出栈操作,出栈就是从栈中删除一个元素。

5.链栈,一般需要进行头插或者头删操作,而顺序表一般进行尾插和尾删操作,链表的操作比顺序表复杂,因此使用顺序结构实现栈更简单。

6.链式结构实现栈时,每次入栈相当于链表中头插一个节点,没有扩容一说。

7.一个栈模拟入队列,一个栈模拟出队列,出队列时直接弹出模拟出队列栈的栈顶元素,当该栈为空时,将模拟入队列栈中所有元素导入即可,不是每次都需要导入元素。

8.栈和队列的特性是相反的,一个栈实现不了队列。

9.一个栈模拟入队列,一个栈模拟出队列,入队列时,将元素直接往模拟入队列的栈中存放。

10.出队操作,一定会影响头指针,如果出队之后,队列为空,会影响尾指针。

11.数据入队列时一定从尾部插入。

12.队列只能从队头删除元素。

13.栈是尾部插入和删除,一般使用顺序表实现,队列是头部删除尾部插入,一般使用链表实现。

14. 栈是后进先出,尾部插入和删除,队列是先进先出,尾部插入头部删除。

15. 栈只能访问栈顶元素,不支持随机访问,队列也不支持。

16.队列适合使用链表实现,使用顺序表(即固定的连续空间)实现时会出现假溢出的问题,因此设计循环队列就是为了解决顺序结构实现队列假溢出问题的。

17.循环队列的长度都是固定的。

18. 对头和队尾在同一个位置时,队列可能是空的,也可能是满的。

19通过设置计数的方式可以判断队列空或者满。

20.循环队列也是队列的一种,是一种特殊的线性数据结构。

21.设置计数即添加一个字段来记录队列中有效元素的个数,如果队列中有效元素个数等于空间总大小时队列满,如果队列中有效元素个数为0时队列为空。                                                                                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值