一.数据结构部分
1、(15分)判断下列论述是否正确,如果有错,请指出错误之处。
(1)若有一个栈的输入序列是1,2,3,…,100,输出序列的第一个元素是100,则第50个输出元素是50
错误;栈顶元素为100,则第i个出栈的元素应为100-i+1,即第50个出栈的是51
(2)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和
正确
(3)在拓扑排序序列中,任意两个结点i和j,都存在从i到j的路径
错误;若i与j同时为一个结点的直接前驱,则i与j之间不存在路径
(4)在哈希表中,装填因子的值越小,存取元素时发生冲突的可能性就越小
正确
(5)任何一个无向连通图的最小生成树只有一棵
错误;起始结点的选择会影响最小生成树的结构
2、(15分)简述堆排序算法的基本思想。对于快速排序而言,堆排序有哪些优势? 对于归并排序而言;堆排序有哪些优势? 假定8000个整数,需要找出最大的10个数,在堆排序、快速排序、基数排序方法中,采用哪种方法最好?请说明理由。
① 以大根堆为例:任意一个非根结点的值小于等于其双亲结点的值;以数学表达:L(i)≥L(2i) 且 L(i)≥L(2i+1)
② 对于快速排序而言,堆排序优势是:快速排序的最坏情况会达到 O(n2)O(n^2)
本文详细整理了2015年苏州大学872考研试题,涵盖数据结构和操作系统部分。数据结构部分讨论了栈的性质、有向图的拓扑排序、哈希表的冲突概率、堆排序与快速排序、归并排序的比较,以及二叉树的数组存储与链表转换算法。操作系统部分涉及了进程管理、内存管理、磁盘调度、优先级调度算法及进程同步问题。
订阅专栏 解锁全文
1333

被折叠的 条评论
为什么被折叠?



