[考研类试卷]计算机专业基础综合数据结构(图)历年真题试卷汇编11及答案与解析.doc
《[考研类试卷]计算机专业基础综合数据结构(图)历年真题试卷汇编11及答案与解析.doc》由会员分享,可在线阅读,更多相关《[考研类试卷]计算机专业基础综合数据结构(图)历年真题试卷汇编11及答案与解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、计算机专业基础综合数据结构(图)历年真题试卷汇编 11 及答案与解析一、设计题1 已知连通图如下: (1)若从顶点 B 出发对该图进行遍历,在(1)的基础上分别给出本图的按深度优先搜索和按广度优先搜索的顶点序列;(2)写出按深度优先搜索的递归程序。【厦门大学 200l 三(12 分)】2 设计算法以实现对无向图 G 的深度遍历,要求:将每一个连通分量中的顶点以一个表的形,式输出。例如,下图的输出结果为:(1,3)(2,6,7,4,5,8)(9,10)。注:本算法中可以调用以下几个函数:firstadj(g,1,)返回图 g 中顶点 v 的第一个邻接点的号码,若不存在,则返回0。nextadj(
2、g,v,w) 返回图 g 中顶点 v 的邻接点中处于 w 之后的邻接点的号码,若不存在,则返回 0。nodes(g)返回图 g 中的顶点数。【合肥工业大学2000 五、4(8 分) 】3 请设计一个图的抽象数据类型(只需要用类 Pascal 或类 CC+语言给出其主要功能函数或过程的接口说明,不需要指定存储结构,也不需要写出函数或过程的实现方法),利用抽象数据类型所提供的函数或过程编写图的广度优先周游算法。算法不应该涉及具体的存储结构,也不允许不通过函数或过程而直接引用图结构的数据成员,抽象数据类型和算法都应该加足够的注释。【北京大学 1999 二、1(10 分)】4 设计算法以判断给定的无向
3、图 G 中是否存在一条以网为起点的包含所有顶点的简单路径,若存在,返回 TRUE,否则,返回 FALSE(注:本算法中可以调用以下几个函数:FIRSTADJ(G, V)返回图 G 中顶点 V 的第一个邻接点的号码,若不存在,则返回 0;NEXTADJ(G,W) 返回图 G 中顶点 V 的邻接点中处于 W之后的邻接点的号码,若不存在,则返回 0;NODES(G)返回图 G 中的顶点数)。【合肥工业大学 1999 五、5(8 分)】5 已有邻接表表示的有向图,请编程判断从第 u 顶点至第 v 顶点是否有简单路径,若有,则印出该路径上的顶点。要求:先描述图的存储结构,并简述算法思路;查找邻接点等图的
4、运算要自己实现。(尽量采用非递归算法,否则满分 15 分)【北京工业大学 2000 六(20 分) 】6 图的 D 搜索类似于 BFS,不同之处在于使用栈代替 BFS 中的队列,入出队列的操作改为入出栈的操作,即当一个顶点的所有邻接点被搜索之后,下一个搜索出发点应该是最近入栈(栈顶) 的顶点。(1) 用邻接表做存储结构,写一个 D 一搜索算法;(15 分)(2)用 D 搜索方法搜索右图,设初始出发点为 1,写出顶点的访问次序和相应的生成树,当从某顶点出发搜索它的邻接点时,请按邻接点序号递增序搜索,以使答案唯一。(5 分) 【中科院计算所 1998 六(20 分)】7 令 G=(V,E)为一个有
5、向无环图,编写一个给图 G 中每一个顶点赋以一个整数序号的算法,并满足以下条件:若从顶点 i 至顶点 j 有一条弧,则应使 ij 。【清华大学 1996 七】8 二部图(biparite graph)G=(V,E)是一个能将其结点集 V 分为两个不相交子集 V1和 V2= V-V1 的无向图,使得:V1 中的任何两个结点在图 G 中均不相邻,V2 中的任何两个结点在图 G 中也均不相邻。(1)请各举一个结点个数为 5 的二部图和非二部图的例子。(2)请用 C 或 Pascal 编写一个函数 BIPARTITE 判断一个连通无向图 G 是否是二部图,并分析程序的时间复杂度。设 G 用二维数组 A
6、 来表示,大小为 n*n(n 为结点个数)。请在程序中加必要的注释。若有必要可直接利用堆栈或队列操作。【浙江大学 1998 八(15 分) 】9 我们可用“ 破圈法” 求解带权连通无向图的一棵最小代价生成树。所谓“破圈法”就是“任取一圈,去掉圈上权最大的边” ,反复执行这一步骤,直到没有圈为止。请给出用“破圈法 ”求解给定的带权连通无向图的一棵最小代价生成树的详细算法,并用程序实现你所给出的算法。注:圈就是回路。【复旦大学 1997 六(13 分)】10 设图用邻接表表示,写出求从指定顶点到其余各顶点的最短路径的 Dijksua 算法。要求:(1)对所用的辅助数据结构,邻接表结构给以必要的说明
7、;(6 分)(2)写出算法描述。(C,类 Pascal,类 C 均可)(14 分)【南京理工大学 1996 四、1(20 分)】11 已知 n 个顶点的有向图,用邻接矩阵表示,编写函数,计算每对顶点之间的最短路径。【南京航空航天大学 2001 九(10 分)】12 给定 n 个村庄之间的交通图,若村庄 i 和 j 之间有道路,则将顶点 i 和 j 用边连接,边上的 mj 表示这条道路的长度,现在要从这 n 个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。【中国矿业大学 2000 十五
8、(15 分) 】13 求解下面有向图的有关问题:(1)判断此有向图是否有强连通分量?若有请画出。(2)画出此有向图的十字链表存储结构;其顶点表结点结构为(data,firstin,firstout),其中 data,是顶点的有关信息;firstin 是指向以该顶点为弧头的第一条边的指针;firstout 是指向以该顶点为弧尾的第一条边的指针。其表结点的结构为(tailvex,headvex,weight,hlink,tlink),其中 tailvex、headvex 分别为弧尾和弧头在图中的序号;weight 是弧上的权值,hlink、tlink 分别为指向弧头相同和弧尾相同的下一条边的指针。
9、“(3)设其顶点 a,b,c,d,e 表示一个乡的 5 个村庄,弧上的权值表示为两村之间的距离。求每个村庄到其他村庄的最短距离; 乡内要建立一所医院,问医院设在哪个村庄才能使各村离医院的距离较近。【北京邮电大学 1997 五(15 分)】“14 设计算法求距离顶点 V0 的最短路径长度(以弧数为单位)为 K 的所有顶点,要求尽可能地节省时间。【东南大学 2002 八(10 分)2005 五(10 分)】15 采用链接表存储结构,编写一个判别无向图中任意给定的两个顶点之间是否存在一条长度为 k 的简单路径算法。【中国海洋大学 2005 九(18 分)】16 自由树(即无环连通图)T=(K,E)的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机专业 基础 综合 数据结构 历年 汇编 11 答案 解析 DOC
