ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:83.50KB ,
资源ID:844602      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-844602.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编6及答案与解析.doc)为本站会员(brainfellow396)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编6及答案与解析.doc

1、计算机专业基础综合数据结构(排序)历年真题试卷汇编 6 及答案与解析一、单项选择题1 在文件“局部有序 ”或文件长度较小的情况下,最佳内部排序的方法是( )。山东大学 2001 二、2(1 分) 】(A)直接插入排序(B)冒泡排序(C)简单选择排序(D)快速排序2 在排序算法中,每次从未排序的记录中挑出最小(或最大)关键字的记录,加入到已排序记录的末尾,该排序方法是( )。【中山大学 1999 一、11(1 分)】(A)选择(B)冒泡(C)插入(D)堆3 若用冒泡排序方法对序列10,14,26,29,41,52 从大到小排序,需进行( )次比较。【南京理工大学 1999 一、11(4 分)】(

2、A)3(B) 10(C) 15 (D)254 采用简单选择排序,比较次数与移动次数分别为( )。【南京理工大学 2000 一、18(1 5 分) 】(A)O(n), O(logn)(B) O(logn),O(n*n)(C) O(n*n),O(n)(D)O(nlogn) ,O(n)5 对序列15,9,7,8, 20,一 1,4,)用希尔排序方法排序,经一趟后序列变为15,一 1,4 ,8,20,9 ,7 ,则该次采用的增量是 ( )。【南京理工大学 1999 一、15(1 分 )】(A)1(B) 4(C) 3 (D)26 快速排序在最坏情况下的时间复杂度与下列哪个算法最坏情况下的时间复杂度相同?

3、 ( ) 。【北京交通大学 2006 一、7(2 分)】(A)Shell 排序(B)堆排序(C)起泡排序(D)基排序7 下列排序方法中,( ) 在待排序的数据为有序时,花费时间反而最多。【华中科技大学 2007 一、8(2 分) 】(A)快速排序(B)插入排序(C)堆排序(D)冒泡排序8 快速排序算法在最好情况下的时间复杂度是( )。【南京理工大学 2005 一、1(1分)】(A)O(n)(B) O(n2)(C) O(nlog2n)(D)O(log 2n)9 对下列关键字序列用快速排序法进行排序时,速度最快的情形是( )。【北方交通大学 2001 一、18(2 分)】(A)21 ,25 ,5,

4、17,9,23,30(B) 25,23,30,17,2l,5,9(C) 21,9,17,30,25,23,5(D)5 ,9, 17,21,23,25,3010 对 n 个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是( )。【北方交通大学 2000 二、5(2 分)】(A)每次分区后,先处理较短的部分(B)每次分区后,先处理较长的部分(C)与算法每次分区后的处理顺序无关(D)以上三者都不对11 快速排序在最坏情况下的时间复杂度是( ),比( )的性能差。【山东工业大学1995 二、2(4 分) 】(A)O(NlogN)(B) O(N2)(C) O(N2)(D)堆排序(E)冒泡排

5、序12 当 n 个整型数据是有序时,对这 n 个数据用快速排序算法排序,则时间复杂度是(1),当用递归算法求 n!时,算法的时间复杂度是(2),则:(1) 一(2)=( )。【南京理工大学 1 999 一、(67)(4 分) 】(A)O(n)(B) O(nlogn)(C) O)(n*n)(D)O(logn)13 对各种内部排序方法来说( )。【华南理工大学 2006 一、3(2 分)】(A)快速排序时间性能最佳(B)基数排序和归并排序是稳定的排序方法(C)快速排序是一种选择排序(D)堆排序所用的辅助空间比较大14 在含有 n 个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储在(

6、)位置上。 【中科院计算所 2000 一、4(2 分) 】(A)n 2 (B) n2 一 1(C) 1 (D)n 2+215 若对 n 个元素进行堆排序,则在初始建堆的过程中需要进行( )筛选。【北京理工大学 2005 一、5(1 分)】(A)1(B) n2(C) (n 一 1)2 (D)n二、填空题16 磁盘排序过程主要是先生成_,然后对_合并,而提高排序速度很重要的是_,我们将采用_方法来提高排序速度。【山东工业大学 1995 一、4(4 分)】17 在基于关键字比较且时间为 O(nlog2n)的排序中,若要求排序是稳定的,则可选用_ 排序;若要求就地排序(及辅助空间为 O(1),则可选用

7、排序。【中国科学技术大学 1998 一、7(2 分)】18 外排序的基本操作过程是_和_。【西安电子科技大学 1998二、3(3 分) 】19 外部排序的基本方法是归并排序,但在之前必须先生成_。【北京邮电大学 2001 二、6(2 分) 】20 设工作区的容量为 W,则置换一选择排序法所得到的初始归并段长度的期望值为_。【上海交通大学 2004 五、3(154 分)】21 下面的排序算法的思想是:第一趟比较将最小的元素放在 r1中,最大的元素放在 rn中,第二趟比较将次小的放在 r2中,将次大的放在 rn 一 1中,依次下去,直到待排序列为递增序。(注: 代表两个变量的数据交换 )。【南京

8、理工大学 2001 三、2(10 分) 】【中国海洋大学 2007 三(12 分)】void sort(SqListif(max!=n-i+1if(5) )rmin(一一r Ini+1;else(6);i+; sort22 下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。【北京交通大学 2005 七、3(6 分)#define n 10int sDlit(int ahi,int low,int high)int j,k,x;k=low:J=high;x=ak;while(k=x&k=0) (2) ;high=stacktop1;top 一一;k=split(a,low,high)

9、if(lowrni+122 【正确答案】 (1)aj=ak (2)low=stacktop0(3)stacktop0=k+1三、判断题23 【正确答案】 B24 【正确答案】 A25 【正确答案】 A26 【正确答案】 A四、综合题27 【正确答案】 28 【正确答案】 对冒泡算法而言,初始序列为反序时交换次数最多。若要求从大到小排序,则表现为初始是上升序时交换次数最多。29 【正确答案】 证明:起泡排序思想是相邻两个记录的关键字比较,若反序则交换,一趟排序完成得到一个最大值或最小值(视正向排序或反向排序而定)。由题假设知 Rj 在 Ri 之前且 KjKi,即说明 Rj 和 Ri 是反序;设

10、对于 Ri 之前全部记录R1R i-1(其中包括 Kj)中关键字最大为 Kmax,则 KmaxKi,故经过起泡排序前 i一 2 次比较后,R i-1 的关键字一定为 Kmax,又因 KmaxKiR i,故 Ri-1 和 Ri 为反序,由此可知 Ri-1 和 Ri 必定交换,证毕。30 【正确答案】 采用直接插入排序算法,因为记录序列已基本有序,直接插入排序比较次数少,且由于少量次序不对的记录与正确位置不远,使直接插入排序记录移动次数也相对较少,故选直接插入排序算法。五、设计题31 【正确答案】 本题是双向起泡排序,重点是每次起泡的上下界,核心语句段如下:change=1;low=0;high=

11、n-1; 冒泡的上下界while(lowai+1)(aiai+1;change=l ; 有交换,修改标志 changehigh-一; 修改上界for(i=high; ilow;i 一一) 气泡下沉,小元素上浮 (向左)if(a(iai 一 1; change=l ; 有交换,修改标志changelow+; 修改下界 while32 【正确答案】 设 head 是带头结点的双向链表的指针, head 一next 是向下起泡的开始结点,一趟起泡排序将最大元素下沉到链表尾;再设 tail 是向上起泡的开始结点,初始 tail=null。在第一个最大元素沉到链表尾时,tail 取链表倒数第二个结点的指

12、针的值,这时向上起泡,得到最小值。如此下去,直到 head 等于 tail 或无交换为止,排序结束。核心语句段如下:exchange=1; tail=null; tail 是双向链表尾,算法过程中是向上起泡的开始结点while(exchange)fp=head 一next; P 是工作指针,指向当前结点exchange=0; 假定本趟无交换while(p 一next!=tail) 向下(右)起泡,一趟有一最大元素沉底if(p 一datap 一next 一data) 交换两结点指针,涉及 6 条链(temp=p 一 next;exchange=1; 有交换P 一next=temp 一next;t

13、emp 一next 一prior=p 先将结点从链表上摘下temp 一next=p ; P 一prior 一next=temp; 将 temp 插到 P 结点前temp 一prior=p 一prior;P 一prior=temp;else p=p 一 next; 无交换,指针后移tail=p; 准备向上起泡p=tail 一prior;while(exchange&P 一 prior!=head) 向上起泡,一趟有一最小元素冒出head=P;准备向下起泡 while(exchange)33 【正确答案】 假定第 1 个元素有序,从第 2 个元素起,依次插入前面有序子文件中。核心语句如下:for(i:2;i :n;i+) 假定第一个记录有序R0=Ri;j=i 一 1; 将待排序记录放进监视哨while(R0keyRj key) 从后向前查找插入位置,同时向后移动记录(Rj+1=Rj;j=j 一 1;Rj+1=R0 将待排序记录放到合适位置

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1