一、第三章---栈与队列
1.front指向的位置是不存有数据的,细心数一下就行----答案B
2.C是队满的标识,A才是空的标识。
3.共五种情况,漏了一种213的情况(详细解析见下)元素入栈顺序确定,共有多少种出栈顺序?----Python_武烈海老咸鱼的博客-CSDN博客_123进栈出栈序列几种https://blog.csdn.net/weixin_44561567/article/details/123829880
4.不严谨啊!!!front+1是不是会越界!!!!所以应该是(front+1)%maxSize
5.头指针和尾指针都需要进行改变(但如果队列中只有这一个结点,这时候头、尾指针都指向这个结点,在删除结点后,头、尾指针都需要修改。)
二、第四章---数组
1.列优先!!!!再算算!!!!两题答案分别是130和144
三、第五章---二叉树
“什么是分支节点”
分支结点的意思是说它指向其他的节点,所以是度不为0的结点。
度为0的结点称之为“叶子结点”。
四、第六章---集合与搜索
1.有关“有序表的折半搜索,分别在成功和失败的时候,平均搜索次数的解题方法总结”
step1:先画出二叉树。然后把叶子补足(将方框画好)。
step2-1:叶子(方框)的高度-1就是查找失败的次数。然后求和除以叶子数目(一般是个数n+1个)就是失败的平均查找长度。
step2-2:非叶子节点就是成功的,高度就是成功的查找次数,然后除以非叶子节点的数目,就是成功的平均长度。
这题的第二个空也是,搜到了叶子结点之后(看其高度还要减去1)
五、第七章--二叉搜索树
1.二叉平衡树插入的新节点就不一定成为叶子结点了
2.高度为k的m阶B树,至少多少个结点,至少包含多少个关键字,最多包含多少个结点,最多包含多少个关键字? ![](https://i-blog.csdnimg.cn/blog_migrate/3a4c29ecec834f61711fc5e7c3562b92.png)
7√ 61× 79× 50× 183×
这种“最多的”题目一般先求结点数目,等比数列求和(是前n项求和,而非最高次为n!),然后乘上m-1即可(m茶树一般一个节点上仅有m-1个关键字)
“至少多少结点”:①根节点必须有两个孩子②每一个节点(除了叶子结点)至少要有ceil(m/2)个孩子③与关键词的对应关系:最少关键词为 ceil (( n - 1 ) / 2 ) 向上取整。
六、第八章---散列表
1.
2.
3.
七、第九章----图
1.有向图也可以这么说。![](https://i-blog.csdnimg.cn/blog_migrate/4b57fd29eb9e254c6e09c8a4bcacd840.png)
2.若用邻接表,至少需要遍历第u个链表,时间复杂度最坏是O(n)![](https://i-blog.csdnimg.cn/blog_migrate/606fd21256b619f243c6a7c188c1247a.png)
3.topo排序算法可以用于判断有向图是否有环![](https://i-blog.csdnimg.cn/blog_migrate/742cf4e5cdd86257c2ca0159b911695c.png)
4.AOV网络必须是有向无环图,拓扑排序算法的输入不一定是有向无环图。
5.有关AOE网络:
①最长路径才是最短的工期
②不一定。![](https://i-blog.csdnimg.cn/blog_migrate/33fa2bd354b8210ba06f84ffcc06dfa5.png)
解释:
6.有关最小生成树的两个算法的适用场景
①普利姆算法----->O(n^2),适合稠密图
②克鲁斯卡尔算法-->O(eloge):适合稀疏图
7.有关拓扑排序---->DAG图即有向无环图
√
8.无语。连通图是无向图中的概念![](https://i-blog.csdnimg.cn/blog_migrate/fc740f7358243579eba3c52b9b066e9c.png)
9.
八、第十章--排序
1.有关快速排序的最小趟数![](https://i-blog.csdnimg.cn/blog_migrate/0b36951e1d2a77112163e8dffd576b25.png)
且Q(0)=Q(1)=0