数据结构考研试题精选及答案第七章 图(3)

2018-12-02 13:45

while (check( ))

{ vex=pop( ); printf(vex); count++; for (i=0;i

{ k=array(6)_______

if ((7)_______ ) { indegree[i]--; if ((8)_______ ) push(i); } } } if( count

47.假设给定的有向图是用邻接表表示,作为输入的是图中顶点个数n和边的个数m, 以及图的m条边。在下面的程序中,我们用readdata程序过程输入图的信息,并建立该图的邻接表;利用topol程序过程获得图中顶点的一个拓扑序列。

PROGRAM topol_order(input , output) ; CONST maxn=20 ;

TYPE nodeptr=^nltype ;

nltype=RECORD num : integer ; link : nodeptr END ; chtype=RECORD count : integer ; head : nodeptr END ;

VAR ch : ARRAY [1 .. maxn] OF chtype ; m , n , top : integer ; PROCEDURE readdata ;

VAR i , j , u , v : integer ; p : nodeptr ; BEGIN

write (′input vertex number n= ′); readln (n) ; write (′input edge number m= ′); readln(m) ;

FOR i:=1 TO n DO BEGIN ch[i].count:= 0; ch[i].head:=NIL END; writeln(′input edges :′); FOR j:= 1 TO m DO

BEGIN write( j :3 , ′: ′) ; readln( u , v ) ; new( p ) ;

ch[v].count:=ch[v].count+1; p^.num:=v; (1) ___ ; (2) __; END END ;

PROCEDURE topol ;

VAR i, j, k: integer; t: nodeptr ; BEGIN top:= 0 ;

FOR i := 1 TO n DO

IF ch[i].count=0 THEN BEGIN ch[i].count := top ;top := i END; i:= 0 ;

WHILE (3) ___ DO

BEGIN (4) __; (5) __ ; write(j : 5) ;i:= i + 1 ;t:=ch[j].head ; WHILE t<>NIL DO

BEGIN k := t^.num ; ch[k].count:=ch[k].count–1 ;

IF ch[k].count=0 THEN BEGIN ch[k].count:=top; top:=k END;

(6) ______ ; END END ; writeln;

IF i

readdata ; writeln (′output topol order : ′); topol END. 【复旦大学 1995 三 (18分)】 48.如下为拓扑排序的C程序,

V2 (1).列出对右图执行该程序后的输出结果。

(2).在程序空白处填上适当语句。 V1 V3 V5 void topsort(hdnodes graph [],int n) V4 V6 {int i,j,k,top; node_pointer ptr ;

top=-1;

for (i=0; i

if (!graph[i].count){graph[i].count=top; top=i; } for (i=0; i

if(1)____ {fprintf(stderr, \ else {j=top;(2)_____; printf( \

for (ptr=graph[j].link; ptr; ptr=ptr->link) {k=ptr->vertex; graph[k].count--;

if((3)_____) {graph[k].count=top; top=k; } } } } 【浙江大学 2000 六(15分)】

四、 应用题 1.(1).如果G1是一个具有n个顶点的连通无向图,那么G1最多有多少条边?G1最少有多少条边? (2).如果G2是一个具有n个顶点的强连通有向图,那么G2最多有多少条边?G2最少有多少条边? (3).如果G3是一个具有n个顶点的弱连通有向图,那么G3最多有多少条边?G3最少有多少条边?

【复旦大学 1997 一(9分)】

2.n个顶点的无向连通图最少有多少条边?n个顶点的有向连通图最少有多少条边?

【山东大学 2000 一、3 (4分)】

3.一个二部图的邻接矩阵A是一个什么类型的矩阵?【北京科技大学 1999 一、8(2分)】 4.证明:具有n个顶点和多于n-1条边的无向连通图G一定不是树。【东南大学 1993 四(10分)】

5.证明对有向图的顶点适当的编号,可使其邻接矩阵为下三角形且主对角线为全0的充要条件是该图为无环图。【北京邮电大学 2002 三 (10分)】

6.用邻接矩阵表示图时,矩阵元素的个数与顶点个数是否相关?与边的条数是否有关?

【西安电子科技大学 2000计应用 一、6(5分)】 7.请回答下列关于图(Graph)的一些问题:(每题4分) (1).有n个顶点的有向强连通图最多有多少条边?最少有多少条边? (2).表示有1000个顶点、l000条边的有向图的邻接矩阵有多少个矩阵元素?是否稀

疏矩阵?

(3).对于一个有向图,不用拓扑排序,如何判断图中是否存在环?【清华大学2000一(12分)】

8.解答问题。设有数据逻辑结构为: B = (K, R), K = {k1, k2, ?, k9}

R={, , ,, , ,, , , , } (1).画出这个逻辑结构的图示。(3分) (2).相对于关系r, 指出所有的开始接点和终端结点。(2分) (3).分别对关系r中的开始结点,举出一个拓扑序列的例子。(4分) (4).分别画出该逻辑结构的正向邻接表和逆向邻接表。(6分)【山东工业大学 1999 三 (15分)】

9.有向图的邻接表存储如下:(1).画出其邻接矩阵存储;(2).写出图的所有强连通分量;(3).写出顶点a到顶点i的全部简单路径。【东北大学 1997 一、5 (5分)】

10.试用下列三种表示法画出网G 的存储结构,并评述这三种表示法的优、缺点: (1).邻接矩阵表示法; (2).邻接表表示法; (3).其它表示法。【华中理工大学2000 三(12分)】

11.已知无向图G,V(G)={1,2,3,4},E(G)={(1,2),(1,3),(2,3),(2,4),(3,4)}试画出G的邻接多表,并说明,若已知点I,如何根据邻接多表找到与I相邻的点j?

【东南大学 1994 一、2 (8分) 1998 一、6(8分)】 12.如何对有向图中的顶点号重新安排可使得该图的邻接矩阵中所有的1都集中到对角线以上?

【清华大学 1999 一、5 (2分)】

13.假定G=(V,E)是有向图,V={1,2,...,N},N>=1,G以邻接矩阵方式存储,G的邻接矩阵为A,即A是一个二维数组,如果i到j有边,则A[i,j]=1,否则A[i,j]=0,请给出一个算法,该算法能判断G是否是非循环图(即G中是否存在回路),要求算法的时间复杂性为O(n*n)。

【吉林大学 1998 三(16分)】

14. 首先将如下图所示的无向图给出其存储结构的邻接链表表示,然后写出对其分别进行深度,广度优先遍历的结果。 【天津大学 1999 一】 15.下面的邻接表表示一个给定的无向图

(1)给出从顶点v1开始,对图G用深度优先搜索法进行遍历时的顶点序列; (2)给出从顶点v1开始,对图G用广度优先搜索法进行遍历时的顶点序列。【复旦大学1998六(10分))

1 2 5 1 3 4 8 6 7 8 9 10 9

15题图 14题图 16题图

16.给出图G:

(1).画出G的邻接表表示图; (2).根据你画出的邻接表,以顶点①为根,画出G的深度优先生成树和广度优先生成树。 【南开大学 1997 五 (14分)】

17.设G=(V,E)以邻接表存储,如图所示,试画出图的深度优先和广度优先生成树。

234?1

5?1342

124? 31235? 4 524?

【北京轻工业学院 1998 八 (6分)】 18.对一个图进行遍历可以得到不同的遍历序列,那么导致得到的遍历序列不唯一的因素有哪些?

【北京航空航天大学 1998 一、7 (4分)】 19.解答下面的问题 (1).如果每个指针需要4个字节,每个顶点的标号占2个字节,每条边的权值占2个字节。下图采用哪种表示法所需的空间较多?为什么? 2 9 8 7 10 5

1 20 4 1 10 5 6

10 2 2 3 3 6 11 4 3 15 3 5

19题图 20题图

(2).写出下图从顶点1开始的DFS树。【西安电子科技大学 2000计应用 六 (10分)】 20.如下所示的连通图,请画出: (1).以顶点①为根的深度优先生成树;(5分) (2).如果有关节点,请找出所有的关节点。(5分)【清华大学 1998 七 (10分)】 21.某田径赛中各选手的参赛项目表如下: 姓名 参 赛 项 ZHAO A B E QIAN C D SHUN C E F LI D F A ZHOU B F 设项目A ,B ,?,F各表示一数据元素,若两项目不能同时举行,则将其连线(约束条件). 3 4 5 6 7 2 (1).根据此表及约束条件画出相应的图状结构模型,并画出此图的邻接表结构; (2).写出从元素A出发按“广度优先搜索”算法遍历此图的元素序列.

【北京科技大学 1999 五 2000 五 (12分)】 22.已知无向图如下所示: (1).给出从V1开始的广度优先搜索序列;(2).画出它的邻接表; (3).画出从V1开始深度优先搜索生成树。【燕山大学 2000 五 (5分)】 234?v1

5?1v2

5?1v3

v416?

v523? v64?

第22题图 第23题图 23.已知某图的邻接表为

(1).写出此邻接表对应的邻接矩阵;(2分) (2).写出由v1开始的深度优先遍历的序列;(2分) (3).写出由v1开始的深度优先的生成树;(2分) (4).写出由v1开始的广度优先遍历的序列;(2分) (5).写出由v1开始的广度优先的生成树;(2分) (6).写出将无向图的邻接表转换成邻接矩阵的算法。(8分) 【山东大学 1998 六、

A 2 18分】

5 D 6 4 C 24.考虑右图: B E 1 (1)从顶点A出发,求它的深度优先生成树

3 5 3

1 (2)从顶点E出发,求它的广度优先生成树 G F

(3)根据普利姆(Prim) 算法, 求它的最小生成树【上海交通大学 1999 六 (12分)】

25.在什么情况下,Prim算法与Kruskual算法生成不同的MST?

【西安电子科技大学 2000计应用 一、11 (5分)】 26.下面是求无向连通图最小生成树的一种方法。

将图中所有边按权重从大到小排序为(e1,e2,?,em)

i:=1

WHILE (所剩边数 >=顶点数)

BEGIN

从图中删去ei

若图不再连通,则恢复ei i:=i+1 END.

试证明这个算法所得的图是原图的最小代价生成树。【北京邮电大学 1999 五 (10分)】 27.已知一个无向图如下图所示,要求分别用Prim和Kruskal算法生成最小树(假设以①为起点,试画出构造过程)。【哈尔滨工业大学 1999 九 (8分)】 20 1 4 1 9 4 2 5 11 7 8 2 9 6 6 14 6 3 10 10 5 3 2 6 5 4 4 5 18


数据结构考研试题精选及答案第七章 图(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年常熟理工学院线性代数复习题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: