【考研类试卷】计算机学科专业基础综合数据结构-9及答案解析.doc
《【考研类试卷】计算机学科专业基础综合数据结构-9及答案解析.doc》由会员分享,可在线阅读,更多相关《【考研类试卷】计算机学科专业基础综合数据结构-9及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、计算机学科专业基础综合数据结构-9 及答案解析(总分:97.50,做题时间:90 分钟)一、综合应用题(总题数:24,分数:97.50)假定把关键字 key散列到有 n个表项(从 0到 n-1编址)的散列表中。对于下面的每一个函数 H(key)(keyr为整数),这些函数能够当作散列函数吗?(即对于插入和查找,散列程序能正常工作吗?)如果能够,它是一个好的散列函数吗?请说明理由。设函数 random(n)返回一个 0到 n-1之间的随机整数(包括 0与 n-1在内)。(分数:10.00)(1).H(key)=key/n(分数:2.50)_(2).H(key)=1(分数:2.50)_(3).H(
2、key)=(Key+random(n)%n(分数:2.50)_(4).H(key)=key%p(n);其中 p(n)是不大于 n的最大素数(分数:2.50)_对于一个长度为 m=41的散列表,采用双散列法解决冲突,对于关键字 k 1 ,k 2 ,k 3 ,若 h(k 1 )=30,h(k 2 )=28,h(k 3 )=19,h 2 (k 1 )=14,h 2 (k 2 )=27,h 2 (k 3 )=35,则 k 1 ,k 2 ,k 3 的探测序列中前 4个位置各为多少。(分数:7.50)(1).k 1 的探测序列: 30 ,_,_,_;(分数:2.50)_(2).k 2 的探测序列: 28
3、,_,_,_;(分数:2.50)_(3).k 3 的探测序列:_,_,_,_;(分数:2.50)_1.设有 150个记录要存储到散列表中,要求利用双散列法解决冲突,同时要求找到新记录插入位置的平均比较次数不超过 2次。试问散列表需要设计为多大?请为这个散列表设计散列函数(除留余数法)和再散列函数。 设 是散列表的装载因子,则应用双散列法解决冲突时的查找成功的平均查找长度和查找不成功的平均查找长度分别为 (分数:2.50)_若对有 n个元素的有序顺序表和无序顺序表进行顺序查找,试就下列三种情况分别讨论两者在相等查找概率时的平均查找长度是否相同?(分数:7.50)(1).查找失败。(分数:2.50
4、)_(2).查找成功,且表中只有一个关键字等于给定值 k的元素。(分数:2.50)_(3).查找成功,且表中有若干个关键字等于给定值 k的元素,要求一次查找能找出所有元素。(分数:2.50)_2.设有序顺序表中的元素依次为017,094,154,170,275,503,509,512,553,612,677,765,897,908。试画出对其进行折半查找时的判定树,并计算查找成功的平均查找长度和查找不成功的平均查找长度。 (分数:2.50)_已知一个有序顺序表 ABN-1的表长为 8N,并且表中没有关键字相同的数据元素。假设按如下所述的方法查找一个关键字值等于给定值 X的数据元素:先在 A7,
5、A15,A23,A8K-1,A8N-1中进行顺序查找,若查找成功,则算法报告成功位置并返回;若不成功,当 A8K-1XA8(K+1)-1时,若 XA8N-1的关键字,则查找失败。(分数:5.00)(1).画出描述上述查找过程的判定树。(分数:2.50)_(2).计算相等查找概率下查找成功的平均查找长度。(分数:2.50)_3.设有一棵 B+树,其结点最多可存放 100个索引项。对于高度为 1、2、3、4 的 B+树,最多能存储多少索引项?最少能存储多少索引项? (分数:2.50)_4.设敞列表为 HT13,散列函数为 H(key)=key%13。用开地址法解决冲突,对下列关键字序列12,23,
6、45,57,20,03,78,3l,15,36 造表。采用线性探测法寻址下一个空位,画出相应的散列表,并计算等概率下查找成功的平均查找长度和查找不成功的平均查找长度。 (分数:2.50)_设有一个散列表,要存放的数据有 8个,采用除留余数法计算散列地址,并用二次散列法解决冲突,不过仅用 H i =(H o +i 2 )%m计算下一个散列地址,m 是表的长度,i=1,2,m-1。(分数:5.00)(1).如果要求平均探测两次就能找到新表项的散列地址,确定表长度 m和散列函数。(设 是装填因子)(分数:2.50)_(2).设存放的数据为25,40,11,97,59,30,87,73,依次计算并存放
7、这些数据到散列表中,并计算存放后表的查找成功的平均查找长度。(分数:2.50)_设散列表为 HT0.12即表的大小为 m=13。现采用链地址法解决冲突。若插入的关键字序列为2,8,31,20,19,18,53,27。(分数:5.00)(1).画出插入这 8个关键字后的散列表。(分数:2.50)_(2).计算查找成功的平均查找长度和查找不成功的平均查找长度。(分数:2.50)_如果有一个时间复杂性为 O(n 2 )的算法(如冒泡排序、选择排序或插入排序等),在有 200个元素的数组上运行需要时 3.1毫秒,试问在下列类似的数组上运行大约需要多长时间?(分数:5.00)(1).具有 400个元素。
8、(分数:2.50)_(2).具有 40000个元素。(分数:2.50)_5.希尔排序、简单选择排序、快速排序和堆排序是不稳定的排序方法,试举例说明。 (分数:2.50)_6.在冒泡排序过程中,什么情况下排序码会朝与排序相反的方向移动?试举例说明。在快速排序过程中有这种现象吗? (分数:2.50)_7.如果只想在一个有 n个元素的任意序列中得到其中最小的第 k(kn)个元素之前的部分排序序列,那么最好采用什么排序方法?为什么?例如有这样一个序列57,40,38,11,13,34,48,75,6,19,9,7,要得到其第 4个元素之前的部分有序序列6,7,9,11,用所选择的算法实现时,要执行多少
9、次比较? (分数:2.50)_8.多路平衡归并排序是外排序的主要方法,试问多路平衡归并排序包括哪两个相对独立的阶段?每个阶段完成何种工作? (分数:2.50)_如果某个文件经内排序得到 80个初始归并段,试问:(分数:5.00)(1).若使用多路平衡归并执行 3趟完成排序,那么应取的归并路数至少应为多少?(分数:2.50)_(2).如果操作系统要求一个程序同时可用的输入/输出文件的总数不超过 15个,则按多路归并至少需要几趟可用完成排序?如果限定趟数,可取的最低路数是多少?(分数:2.50)_假设文件有 4500个记录,在磁盘上每个块可放 75个记录。计算机中用于排序的内存区可容纳 450个记
10、录。试问:(分数:5.00)(1).可以建立多少个初始归并段?每个初始归并段有多少记录?存放于多少个块中?(分数:2.50)_(2).应采用几路归并?请写出归并过程及每趟需要读写磁盘的块数。(分数:2.50)_9.磁盘文件采用选择法实现 m路归并时,占用 CPU的时间与 m是否相关?为什么? (分数:2.50)_10.败者树中的“败者”指的是什么?若利用败者树求 m个排序码中的最大者,在某次比较中得到 ab,那么谁是败者? (分数:2.50)_11.设有一个排序码输入序列10,40,30,50,20,25,45,60,试根据败者树的构造算法构造一棵败者树。 (分数:2.50)_12.设输入文件
11、保存以下记录:14,22,7,24,15,16,11,100,10,9,20,12,90,17。现采用置换-选择方法生产初始归并段,并假设内存工作区可同时容纳 5个记录,请画出选择的过程。 (分数:2.50)_13.试为下列每种情况选择合适的排序方法: (1)n=30,要求最坏情况下速度最快。 (2)n=30,要求既要快,又要排序稳定。 (3)n=1000,要求平均情况下速度最快。 (4)n=1000,要求最坏情况下速度最快且稳定。 (5)n=1000,要求既快又最省内存。 (分数:2.50)_下面给出一个排序算法,数组 a是存放待排序数据元素的数组,n 是数组大小,数据元素的数据类型是Dat
12、aType。 void unknow(DataType a,int n) int high=n-1,i,j;DataType w; while(high0) j=0; for(i=0;ihigh;i+) if(aiai+1) w=ai;ai=ai+1;ai+1=w; j=i; high=j; (分数:7.50)(1).该算法的功能是什么?(分数:2.50)_(2).若待排序数据序列为10,20,30,40,50,60,画出每次执行的结果序列。(分数:2.50)_(3).若待排序数据序列为60,50,40,30,20,10,画出每次执行的结果序列。(分数:2.50)_14.在已排好序的序列中,一
13、个元素所处的位置取决于具有更小排序码的元素的个数。基于这个思想,可得计数排序方法。假设待排序元素放在数组 an中,n 是待排序元素个数。该方法建立一个计数数组countn,用 counti记下在已排好序的序列中 ai前面的元素个数,最后依 count的值,将序列在an中重新排列,就可完成排序。编写一个算法,实现计数排序,并说明对于一个有 a个元素的序列,为确定所有元素的 count值,最多需要做 n(n-1)/2次排序码比较。 (分数:2.50)_计算机学科专业基础综合数据结构-9 答案解析(总分:97.50,做题时间:90 分钟)一、综合应用题(总题数:24,分数:97.50)假定把关键字
14、key散列到有 n个表项(从 0到 n-1编址)的散列表中。对于下面的每一个函数 H(key)(keyr为整数),这些函数能够当作散列函数吗?(即对于插入和查找,散列程序能正常工作吗?)如果能够,它是一个好的散列函数吗?请说明理由。设函数 random(n)返回一个 0到 n-1之间的随机整数(包括 0与 n-1在内)。(分数:10.00)(1).H(key)=key/n(分数:2.50)_正确答案:()解析:不能当作散列函数,因为 key/n可能大于 n,这样就找不到适合的位置。(2).H(key)=1(分数:2.50)_正确答案:()解析:能够作为散列函数,但不是一个好的散列函数,因为所有
15、关键字都映射到同一位置,造成大量的冲突机会。(3).H(key)=(Key+random(n)%n(分数:2.50)_正确答案:()解析:不能当作散列函数,因为该函数的返回值不确定,这样无法进行正常的查找。(4).H(key)=key%p(n);其中 p(n)是不大于 n的最大素数(分数:2.50)_正确答案:()解析:能够作为散列函数,是一个好的散列函数。对于一个长度为 m=41的散列表,采用双散列法解决冲突,对于关键字 k 1 ,k 2 ,k 3 ,若 h(k 1 )=30,h(k 2 )=28,h(k 3 )=19,h 2 (k 1 )=14,h 2 (k 2 )=27,h 2 (k 3
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机 学科专业 基础 综合 数据结构 答案 解析 DOC
