标签:next 广度 城市 序列 strong 链表 堆排 直接 次数
全真模拟试题(一)2.将下图的森林转换为二叉树。(4分)
3.下图表示一个地区的交通网,顶点表示城市,边表示连结城市间的公路,边上的权表示修建公路花费的代价。怎样选择能够沟通每个城市且总造价最省的n-1条公路,画出所有可能的方案。(4分)
4.已知一个无向图的邻接表如下图所示。(本题4分,每小题2分)
(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分)
标签:next 广度 城市 序列 strong 链表 堆排 直接 次数
原文地址:http://blog.51cto.com/2096101/2156645