数据结构 第3章 栈、队列和数组(一轮习题总结)

3.1 栈(1 10 11 20)
3.2 队列(6 12 14 17)
3.3 栈与队列的应用(6 11)
3.4 数组和特殊矩阵(7 9)

3.1 栈

  • T1
    栈和队列具有相同的逻辑结构(线性结构)
    栈和队列的ADT不同,先进后出和先进先出的关系,基本操作集也不同。
  • T11
  • 出栈序列的个数:
    在这里插入图片描述- T20
    共享栈:栈顶对栈顶组合,若某一栈满,可利用另一个栈存储。
    共享栈的好处:节省存储空间,降低上溢出的可能

3.2 队列

  • T12
    链式存储队列,删除元素时,头尾指针都可能需要更改。
    通常删除只需修改头指针,但若删除的是最后一个元素,直接修改尾指针rear=front。
    (链队列中,front指向头结点,即队头元素的前一个)

3.3 栈与队列的应用

  • T6
    递归通常比非递归效率低,因为递归在计算机实际执行过程中包含了很多重复的计算
  • T9
    消除递归的方法:
    1)人工模拟系统堆栈(递归的本质也是栈)
    2)对于单向递归和尾递归,可以用迭代
    循环:循环通常关注于重复执行一组指令直到特定条件为止,它可能不需要考虑前一次迭代的结果。
    迭代:迭代更注重于逐步处理数据集或序列,每次迭代都可能基于上一次迭代的结果。
  • T11
    表达式求值的栈(两个易错点):
    1)左括号进栈,右括号不进栈
    2)遇操作符,先比较栈顶优先级,而不是入栈

3.4 数组和特殊矩阵

  • T7
    下三角 列优先 aij(1<=i,j<=n)存放在B[1…n(n+1)/2+1]中
    B[k]中非0元素aij的下标 i、j、k的关系是k=(j-1)(2n-j+2)/2 +i-j+1
  • T9
    适用于压缩存储稀疏矩阵的存储结构:三元组表、十字链表
    二叉链表:又称左孩子右兄弟表示法,表示树、森林
    领接矩阵:适合存储稠密图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值