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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(DS考试大题集锦文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DS考试大题集锦文档格式.docx

1、 int mid=(low+high)/2; if (k=s.elemmid.key) return mid; if (ks.elemmid.key) return f24(s,mid+1,high,k); else return f24(s,low,mid-1,k);25(6分)请对以下函数填空,实现求二叉树T中各结点的子孙总数,并填入结点的DescNum域中的算法。int f25(BiTree T) if ( ) return -1;else T-DescNum = f25(T-lchild) + + ;return T-DescNum;26(6分)图的邻接矩阵表示和算法f26描述如下:#

2、define MaxNum 5typedef struct char vexsMaxNum;int arcsMaxNumMaxNum; int n,e; MGraph;int f26(MGraph G, int i) int d=0;for (int j=0; jnext ;next = p ;在s中递归折半查找k。if ( !T ) return -1; f25(T-rchild) + 2 ; 已知一个图G的邻接矩阵如右所示, 5; 答:求图G第i顶点的度。void purge(LList L) / 删除链表中的“冗余”元素 LList s, q, p = L- while ( p ) /

3、p 指向当前被考察的结点 q = p; while (q-next) / 考察 q 所指后继结点 if (q-next-data != p-data) q = q- else / 修改指针并释放结点空间 s=q- q-next=s- free(s); p = p- / while p/purge1(10分)己知有向图G定义如下: G=(V,E) V=a,b,c,d,e,f E=,a,dc,bc,ed,ef,df,e (1)画出图G。 (2)画出图G的邻接矩阵。 (3)写出G的全部拓扑有序序列。afcbde afcdbe afcdeb afdcbe afdcebfacbde facdbe fac

4、deb fadcbe fadcebacbfde acfbde acfdbe acfdeb4(10分)设哈希函数为H(key)=key MOD 11,用线性探测再散列的方法处理冲突。请画出依次插入元素29,15,48,47,23,41,73,37后,该哈希表的状态,并在各元素下面标出其冲突次数。 冲突次数:4(10分)2347154837294173四、算法设计题(共20分)1(10分)写出在带头结点的单链表上实现线性表操作LENGTH(L)的算法。1. LENGTH(L) (10分)int LENGTH(L) int length = 0; Nodt * p = L-head; while (

5、p) length+; p = p- return length;每行语句1分2(10分)填空完成先序遍历建立二叉树的如下算法。Status CreateBiTree(BiTree &T) scanf(&ch); if (ch= ) T = NULL; else / 生成根结点 CreateBiTree(); / 构造左子树 / 构造右子树 return OK;2(10分) T = new Node(ch); / 生成根结点 (4分) CreateBiTree(T-lchild); / 构造左子树 (3分)rchild); / 构造右子树 (3分)2(10分)以顺序表为存储结构,写出折半插入排

6、序的算法。void BiInsertionSort ( SqList &L ) for ( i=2; i=L.length; +i ) L.r0 = L.ri; / 将 L.ri 暂存到 L.r0low = 1; high = i-1;while (low=high) m = (low+high)/2; / 折半if (L.r0.key =high+1; -j ) L.rj+1 = L.rj; / 记录后移L.rhigh+1 = L.r0; / 插入 / for / BInsertSort每条指令1分1. void AE(Stack& S) InitStack(S); Push(S,3); P

7、ush(S,4); int x=Pop(S)+2*Pop(S); Push(S,x); int i,a5=1,5,8,12,15; for(i=0;i5;i+) Push(S,2*ai); while(!StackEmpty(S) coutPop(S)left,c1,c2); c1+; if (BT-left=NULL&BT-right=NULL) c2+;right,c1,c2); /if 该函数执行的功能是什么?一、 算法填空(共8分)向单链表的末尾添加一个元素的算法。Void InsertRear(LNode*& HL,const ElemType& item)LNode* newptr

8、;newptr=new LNode;If (_)cerrnext=NULL;if (HL=NULL) HL=_;elseLNode* P=HL;While (P-next!=NULL) _;next=newptr;二、 编写算法(共8分)编写从类型为List的线性表L中将第i个元素删除的算法,(假定不需要对i的值进行有效性检查,也不用判别L是否为空表。)void Delete(List& L, int i)一、 阅读算法(每题7分,共14分)1. 30 24 16 10 2 102. 该函数的功能是:统计出BT所指向的二叉树的结点总数和叶子总数 二、 算法填空(共8分,每一空2分)newptr

9、=NULL newptr-=data newptr p=p-next三、 编写算法(8分) void Delete(List& for(int j=i-1;jlink; h-link=_ NULL ;或者 0 ;(2分) while(p! s=p; p=p- _ s-link=h-_(2分)link=s;什么是表头结点?如果该链表无表头结点,则原程序该做怎样的修改?(4分)2、 (13分)对以下函数填空,实现以带头结点的单链表h为存储结构的直接选择排序。单链表的结点结构定义为typedef struct nodeint key; struct node *next;JD;void zjxzpx

10、(JD *h) JD *p,*q,*m;int x;p=h-while(p! q=p- m=p; while(q! if (m-keyq-key) _; _; if (p!=m) x=p-key; p-key=m- m-key=x;_; 直接选择排序属于_(稳定/不稳定)排序。 该排序算法总的键值比较次数为_。并分析什么情况下有最小移动记录次数?什么情况下有最大移动记录次数?算法的平均时间复杂度为多少?(3分 )3、 (13分)对以下函数填空,实现以带头结点的单链表h为存储结构的直接选择排序。1、struct node *link; NULL ; s- 什么是表头结点?表头结点是有时为了操作方

11、便而在链表的第一结点之前添加的一个结点,该结点结构与表中结点相同,但数据域不存放表中数据,或者闲置不用,或者存放特殊信息。表头结点的链域存放指向链表中第一个结点的指针。(2分,回答对点给1分;点0.5分;点0.5分。如果该链表无表头结点该做怎样的修改?修改如下: p=h;(1分) h=NULL; while(p! s-link=h; h =s; 2、m=q; q=q- p=p- 不稳定(2分) n(n-1)/2(2分) 当待排序序列为“正序”时,有最小移动次数0; 当待排序序列为“逆序”时,有最大移动次数3(n-1); 算法的平均时间复杂度为O(n2)。 3、p-rchild; q-LTag!

12、=1; 1 (1分); NULL; 1、(6分)已知二叉树的层次序列为ABCDEFGHIJK,中序序列为DBGEHJACIKF,请构造一棵二叉树,并写出其后序序列。 2、(10分)已知二叉树的先序、中序和后序序列如下,其中有一些看不清的字母用*表示,请先补充*处的字母,再构造一棵符合条件的二叉树(画出图示),最后画出带头结点的中序线索链表。 前序序列:*BC*G* 中序序列:CB*EAGH* 后序序列:*EDB*FA 3、(6分)将下列二叉树还原成森林,并写出先序遍历森林序列。5、 (8分)已知图G=(V,E),其中V=a,b,c,d,e,E=d,cb,e要求:(1) 画出图G;(2) 给出图

13、G的邻接矩阵;(3) 给出图G的邻接表;(4) 给出图G的一种拓扑序列。三、应用题: 1、 (4分,画对根结点1分,左子树正确1.5分,右子树正确1.5分)后序序列为:DGJHEBKIFCA(2分)2、前序序列补充完整为:ABCDEFGH(1分) 中序序列补充完整为:CBDEAGHF(1分) 后序序列补充完整为:CEDBHGFA(1分)(3分,画对根结点1分,左子树正确1分,右子树正确1分)(4分)画对各结点线索指针得2分,标志位正确得1分,表头结点正确得3、 (4分,画对各树根结点2分, 画对各子树子女结点2分) 该森林的先序序列为: ABCMNSDEFGHKIJ(2分)4、 (1) (2分,如果画的是无向图不給分)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1