[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9及答案与解析.doc
《[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9及答案与解析.doc》由会员分享,可在线阅读,更多相关《[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9及答案与解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、计算机专业基础综合数据结构(排序)历年真题试卷汇编 9 及答案与解析一、综合题1 如果只要找出一个具有 n 个元素的集合的第 k(1kn)个最小元素,你所学过的排序方法中哪种最适合? 给出实现的思想。 【北方交通大学 1998 六(10 分)】2 设结点个数为 n,请问采用堆排序法进行排序,其时间复杂性是多少?请以大 O形式给出,并给出证明。【上海交通大学 2004 四(10 分)】2 已知待排序的序列为(503,87,512,6l,908, 170,897,275,653,462),试完成下列各题。3 根据以上序列建立一个堆(画出第一步和最后堆的结果图),希望先输出最小值。4 输出最小值后,
2、如何得到次小值(并画出相应结果图)。【同济大学 2001 二(10 分)】4 试将关键字序列(56,塾,55,67,46,58,18,88)5 调整成一个初始大顶堆,用二叉树形式说明调整过程;6 简要说明如何从初始大顶堆开始进行排序。【华中科技大学 2007 四、24(10 分)】7 一组记录的关键字为(50,79,8,56,32,41,85),给出利用重建堆方法建立的初始堆(堆顶最大) ,并给出堆排序的过程。 【吉林大学 2007 二、5(4 分)】8 已知序列503,87,512 ,61,908,170,897,275,653,462)将其调整为堆(大堆顶,即 KiK2i,K iK2i+1
3、)。【中国海洋大学 2006 一、4(8 分)】9 给定关键字序列(20,18,9,86,72,12,27,40)。试将该序列建成小根堆。10 判断下面的每个结点序列是否表示一个堆,如果不是堆,请把它调整成堆。100,90, 80,60,85 ,75,20,25,10,70, 65,50 100,70,50,20,90,75,60,25,10,85,65,80【复旦大学 1997 二(8 分)】11 全国有 10000 人参加物理竞赛,只录取成绩优异的前 10 名,并将他们从高分到低分输出。而对落选的其他考生,不需排出名次,问此种情况下,用何种排序方法速度最快?为什么 ?【北京邮电大学 199
4、6 一、3(4 分)】12 设有 n 个无序元素,按非递减次序排序,但只想得到前面长度为 k 的部分序列,其中 nk,最好采用什么排序方法? 为什么?如果有这样一个序列59,11 ,26 ,34,17,91 ,25),得到的部分序列是 11,17,25),对于该例使用所选择的方法实现时,共执行多少次比较?【东北大学 2002 一、4(3 分)】13 写出用堆排序算法对文件 F=(12,3,15,30,9,28)进行排序时,初始堆及以后每挑好一个元素重新调整后堆的状态,并指出这里的堆和败者树的一个主要区别。【东南大学 1998 二(8 分)】13 请回答下列关于堆(Heap)的一些问题。【清华大
5、学 2000 五(12 分)】14 堆的存储表示是顺序的,还是链接的?15 设有一个最小堆,即堆中任意结点的关键字均大于它的左子女和右子女的关键字。其具有最大值的元素可能在什么地方?16 对,1 个元素进行初始建堆的过程中,最多做多少次数据比较(不用大 0 表示法)?二、设计题17 设有一个数组中存放了一个无序的关键序列 K1、K 2、K n。现要求将 Kn 放在将元素排序后的正确位置上,试编写实现该功能的算法,要求比较关键字的次数不超过 n。(注:用程序实现。)【南京航空航天大学 1997 六(12 分)】18 借助于快速排序的算法思想,在一组无序的记录中查找给定关键字值等于 key的记录。
6、设此组记录存放于数组 r1h中。若查找成功,则输出该记录在 r 数组中的位置及其值,否则显示“not find” 信息。请编写出算法并简要说明算法思想。【北京邮电大学 1998 七(1 5 分)】19 编写非递归的快速排序算法。【中科院软件所 1997 三(10 分)】20 设有顺序放置的 n 个桶,每个桶中装有一粒砾石,每粒砾石的颜色是红、白、蓝之一。要求重新安排这些砾石,使得所有红色砾石在前,所有白色砾石居中,所有蓝色砾石居后。重新安排时,对每粒砾石的颜色只能查看一次,并且只允许交换操作来调整砾石的位置。【上海大学 1999 二、2(18 分)】21 编写算法解决荷兰国旗问题,即将仅由红、
7、白、蓝三种颜色的条块序列,在O(n)时间内按红、白、蓝顺序排好。例:给定色彩条块序列蓝、白、红、白、蓝、红、白、白、红、蓝)则要求的结果为:红、红、红、白、白、白、白、蓝、蓝、蓝【东华大学 2003 五(15 分)】【浙江大学 2003 七(10 分)】22 对给定关键字序号 j(1jn),要求在无序记录 A1n中找到关键字从小到大排在第 j 位上的记录,写一个算法利用快速排序的划分思想实现上述查找 (要求用最少的时间和最少的空间)。例如:给定无序关键字7,5,1,6,2,8,9,3),当 j=4 时,找到的关键字应是 5。【中科院研究生院 2003 十二(15 分)】【武汉理工大学 2002
8、 四、3(353 分)】23 若待排序列用单链表存储,试给出其快速排序算法。【北京邮电大学 2000 七(15 分)】24 已知关键字序列(K 1,K2,K3,,K n-1)是大根堆。(1)试写出一算法将(K1,K2,K3,,K n-1,K n)调整为大根堆;(2)利用(1)的算法写一个建大根堆的算法。【中科院软件所 1999 七、2(7 分)】25 已知由 n 一 1 个关键字组成的序列(K 1,K2,K3Kn-1)是大顶堆,现在再增加一个关键字 Kn,要求将关键字序列(K 1,K2,K3,,K n-1,K n)重新调整为大顶堆。请完成以下要求: (1)编写满足上述要求的算法。 (2) 简述
9、你所编写的算法的基本思想。 (3)分析你所编写的算法的时间复杂度。 【南京航空航天大学 2006 7(5 分)】【江苏大学 2006 四、1(12 分) 】26 试设计一个 Heaplnsert(r,key)算法,将关键字 key 插入到堆 R 中去,并保证插入后 R 仍是堆。并分析你的算法的时间复杂性。【哈尔滨工业大学 2005 五、1(15分)】27 有关堆排序:(1)给出堆的定义及其数据结构定义;(2)给出堆排序算法的基本思想,并以图例予以说明(要求不少于 6 个待排序元素);(3)用伪语言描述该算法;(4)给出算法在最坏情况下的时间复杂性分析。【中南大学 2005 五、1(20 分)】
10、28 设有一大批需实时处理的数据元素组成集合 S,实时处理开始后,每隔一极短的时间间隔便收到一个新的数据元素加入 S。现要求在每次接收一个新元素之前,找出 S 中现有的最小元素并将其输出(从 S 中删除)。试选择或构造一种适当的数据结构并设计一个算法,尽可能高效地完成上述任务(只要求用文字说明算法的基本设计思想)。【同济大学 2005 三、1(7 分)】【中国海洋大学 2004 七(20 分)】计算机专业基础综合数据结构(排序)历年真题试卷汇编 9 答案与解析一、综合题1 【正确答案】 在具有 n 个元素的集合中找第 k(1kn)个最小元素,应使用快速排序方法。其基本思想如下:设 n 个元素的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机专业 基础 综合 数据结构 排序 历年 汇编 答案 解析 DOC
