正在加载图片...
(1)画出这个图。 (2)以v1为出发点,对图进行广度优先搜索,写出所有可能的访问序列 5设n个元素的有序表为R,K为一个给定的值,二分查找算法如下: int binsearch( sqlist R, keytype K) hile((<=h)&&(Suc) mid case K=R(mid]. key: suc=1; break case K<Timid. key: h=mid-1: break case k>R mid. key if (suc) return(mid); else return(O) 将上述算法中划线语句改为:K<R[mid]key:h=mid (1)改动后,算法能否正常工作?请说明原因 2)若算法不能正常工作,给出一个査找序列和一个出错情况的查找键值:若能 正常工作,请给出一个查找序列和查找某个键值的比较次数。(本题6分,每小题3 分) 6有一组键值25,84,21,47,15,27,68,35,24,采用快速排序方法由小到大进行排序, 请写出每趟的结果,并标明在第一趟排序过程中键值的移动情况。(本题6分) 五、设计题(共14分) 1.设棵二叉树以二叉链表为存储结构,结点结构为 lchild data rchild。设计一个算 法,求在前根序列中处于第k个位置的结点。(本题6分) 2.设某单链表L的结点结构为国aane试画出该链表的结构图,并用类C语言编写 算法判断该链表的元素是否是递增的。(本题8分)4 (1) 画出这个图。 (2) 以 v1 为出发点,对图进行广度优先搜索,写出所有可能的访问序列。 5.设 n 个元素的有序表为R,K为一个给定的值,二分查找算法如下: int binsearch(sqlist R, keytype K) {j=1;h=n ;suc=0; while((j<=h)&&(!suc)) {mid =(j+h)/2; switch {case K=R[mid].key: suc=1; break; case K<R[mid].key: h=mid-1; break; case K>R[mid].key: j=mid+1 } } if (suc) return(mid); else return(0); } 将上述算法中划线语句改为:K<R[mid].key: h=mid. (1) 改动后,算法能否正常工作?请说明原因。 (2) 若算法不能正常工作,给出一个查找序列和一个出错情况的查找键值;若能 正常工作,请给出一个查找序列和查找某个键值的比较次数。(本题6分,每小题3 分) 6.有一组键值 25,84,21,47,15,27,68,35,24,采用快速排序方法由小到大进行排序, 请写出每趟的结果,并标明在第一趟排序过程中键值的移动情况。(本题6分) 五、设计题(共 14 分) 1.设棵二叉树以二叉链表为存储结构,结点结构为 lchild |data |rchild 。设计一个算 法,求在前根序列中处于第 k 个位置的结点。(本题6分) 2. 设某单链表L的结点结构为 data |next,试画出该链表的结构图,并用类C语言编写 算法判断该链表的元素是否是递增的。(本题8分) v1
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有