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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

[考研类试卷]计算机专业基础综合数据结构(查找)模拟试卷1及答案与解析.doc

1、计算机专业基础综合数据结构(查找)模拟试卷 1 及答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 若查找每个记录的概率均等,则在具有 n 个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度 ASL 为( )。(A)(n 一 1)2(B) n2(C) (n+1)2(D)n1 顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为( (1) ),二分法查找只适用于查找顺序存储的有序表,平均比较次数为( (2) )。在此假定为线性表中结点数,且每次查找都是成功的。2 (1)(A)N+1(B) 2

2、log2N(C) log2N(D)N23 (2)(A)N+1(B) 2log2N(C) log2N(D)N24 适用于折半查找的表的存储方式及元素排列要求为( )。(A)链接方式存储,元素无序(B)链接方式存储,元素有序(C)顺序方式存储,元素无序(D)顺序方式存储,元素有序5 具有 12 个关键字的有序表,折半查找的平均查找长度为( )。(A)31(B) 4(C) 25(D)56 折半查找的时间复杂性为( )。(A)O(n 2)(B) O(n)(C) O(nlog2n)(D)O(log 2n)7 当采用分块查找时,数据的组织方式为( )。(A)数据分成若干块,每块内数据有序(B)数据分成若干

3、块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块(C)数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块(D)数据分成若干块,每块(除最后一块外)中数据个数需相同8 下面函数的功能是实现分块查找,空白处应该添加的内容是( )。int BlkSearch(int*nz,mt key,int block ,int BLK,int len)int i;block=block-1;if(len=0)puts(”表为空 !”):return 0:if(BLKd len)BLK=len;for(i=block*BLK;i(block+1)*BLKif(P 一d

4、ataX)P=p 一rlink;else p=p 一 llink:if(!P) 无值为 X 的结点,插入之P=(BiTNode*)malloc(sizeof(BiTNode):p 一data=X;p 一llink=null;p 一rlink=null;if(f 一dataX)f 一llink=P:else f 一rlink=P:else p-count+; 查询成功,值域为 X 的结点的 count 增 1【知识模块】 数据结构39 【正确答案】 因为二叉树各结点已标明了平衡因子 b,故从根结点开始记树的层次。根结点的层次为 1,每下一层,层次加 1,直到层数最大的叶子结点,这就是平衡二叉树的

5、高度。当结点的平衡因子 b 为 0 时,任选左右一分支向下查找,若b 不为 0,则沿左(当 b=1 时) 或右(当 b=一 1 时)向下查找。int Height(BSTree t) 求平衡二叉树 t 的高度int level=0:BSTree p=t;while(P)level+: 树的高度增 1if(p-bf0)P=p-rchild;bf= 一 1 沿右分支向下bf 是平衡因子,是二叉树 t 结点的一个域,因篇幅所限,没有写出其存储定义else P=P 一 lchild: bf=0 沿左分支向下 whilereturn(level): 平衡二叉树的高度算法结束【知识模块】 数据结构40 【

6、正确答案】 二叉排序树的建立问题前面第 3 题的(1)中已介绍,此处不再赘述。将二叉排序树上的各整数按降序写入磁盘,要对二叉排序树进行“中序遍历” ,这里的“中序遍历 ”要采取“右根左”。为方便起见,先将整数写入一全局变量数组中,再写入磁盘文件中。int i=0,an: 长度为 n 的整型数组void lnOrder(BSTree t)先右后左的中序遍历二叉排序树 t,假定该树 t 已在第 3 题(1)中生成if(t)InOrder(t-rchild);ai+=t-key ;InOrder(t-lchild);void SaveToDisk() /将二叉排序树上的各整数按降序写入磁盘FILE*

7、fp:if(fo=fopen(”fileldat”,”wb”)=null)printf(”file can not open!n”) ;exit(0) ;fwrite(a,sizeof(int),n,fp); 将数组 a 中的 n 个整数写入磁盘fclose(fp); 关闭文件【知识模块】 数据结构41 【正确答案】 (1)递归算法void DecPrint(BSTree t)递减序输出二叉排序树 t 中所有左子树为空、右子树非空的结点数据域的值if(t)DecPrint(t 一rchild):if(!t 一lchild&t 一rchild)printf(t 一data:4);DecPrint

8、(t 一lchild):(2)非递归算法void DecPrint(BSTree t)递减序输出二叉排序树 t 中所有左子树为空、右子树非空的结点的值BSTree s; s 是二叉排序树结点指针的栈,容量足够大int top=0:while(t | top0)while(t)s+top=t;t=t-rchild ; 沿右分支向下if(top0)t=stop-;if(!t 一lchild&t 一rchild)printf(t 一data:4):t=t 一lchild; 去左分支 if while算法结束【知识模块】 数据结构42 【正确答案】 这是一个在单链表中查找结点,在结点内查找给定值的过程

9、,先定义存储结构。typedef struct nodeint Am: 每个结点内含有 m 个正整数,本例中 m 为 5struct node *next; 指向下一结点的指针LNode,*LinkList:typedef structint j; i 整数在结点内的序号struct node *s; 结点的指针rcd;rcd * LSearch(LinkList head,int n)在链表中查找正整数 n,若查找成功,返回该结点指针及 n 在结点中的序号,否则返回空指针表示失败。rcd*R;P=head 一next; 假定链表带头结点,P 指向链表第一元素结点int found=0mt 1;while(P&!found)for(i=0;i m;i+)if(P-Ai=n)found=1 查找成功P=P-next : 下一结点if(P=null)return(null);elseRj=i ;RS=P;return(R);【知识模块】 数据结构43 【正确答案】 int Search(rectype R,int n,K)在具有 n 个元素的有序表 R 中,顺序查找值为 K 的结点,查找成功返回其位置,否则返回一 1 表示失败

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