您现在的位置:学赛首页 > 自考学院 > 数据结构与算法 > 正文
第7章图(基础知识)习题练习
http://www.educity.cn 作者:不详 来源: 2006年9月4日 发表评论 进入社区

7.1 在图7.23(下图)所示的各无向图中:
   
(1)找出所有的简单环。
(2)哪些图是连通图?对非连通图给出其连通分量。
(3)哪些图是自由树(或森林)?

7.2 在图7.24所示(下图)的有向图中:
   
(1) 该图是强连通的吗? 若不是,则给出其强连通分量。
(2) 请给出所有的简单路径及有向环。
(3) 请给出每个顶点的度,入度和出度。
(4) 请给出其邻接表、邻接矩阵及逆邻接表。

7.3 假设图的顶点是A,B...,请根据下述的邻接矩阵画出相应的无向图或有向图。
        ┌     ┓
  ┌       ┓  | 0 1 1 0 0 |
  | 0 1 1 1|   | 0 0 0 1 0 | 
  | 1 0 1 1|   | 0 0 0 1 0 | 
  | 1 1 0 1|   | 1 0 0 0 1 | 
  | 1 1 1 0|    | 0 1 0 1 0 |
  ┕       ┙  ┕        ┙
      (a)               (b) 

7.4 假设一棵完全二叉树包括A,B,C...等七个结点,写出其邻接表和邻接矩阵。

7.5 对n个顶点的无向图和有向图,采用邻接矩阵和邻接表表示时,如何判别下列有关问题?
  (1) 图中有多少条边?
 (2) 任意两个顶点i和j是否有边相连?
 (3) 任意一个顶点的度是多少?

7.6 n个顶点的连通图至少有几条边?强连通图呢?

7.7 DFS和BFS遍历各采用什么样的数据结构来暂存顶点?当要求连通图的生成树的高度最小,应采用何种遍历?

7.8 画出以顶点v1为初始源点遍历图7.25(下图)所示的有向图所得到的DFS 和BFS生成森林。

    

7.9 按顺序输入顶点对:(1,2),(1,6),(2,6),(1,4),(6,4),(1,3),(3,4),(6,5),(4,5),(1,5),(3,5),根据第7.2.2节中算法CreatALGraph画出相应的邻接表。并写出在该邻接表上,从顶点4开始搜索所得的DFS和BFS序列,及DFS和BFS生成树。 

7.10 什么样的图其最小生成树是唯一的?用PRIM 和Kruskal求最小生成树的时间各为多少?它们分别适合于哪类图?

7.11 对图7.26(下图)所示的连通图,请分别用Prim和Kruskal算法构造其最小生成树。 

    

7.12 对图7.27(下图)所示的有向图,试利用Dijkstra算法求出从源点1到其它各顶点的最短路径,并写出执行算法过程中扩充红点集的每次循环状态(见表7.2).
   

7.13 试写出图7.28(下图)所示有向图的所有拓扑序列,并指出就用7.6节给出的NonPreFirstTopSort算法求得的是哪个序列,设邻接表的边表结点中的邻接点序号是递增有序的。 
    

7.14 什么样的DAG的拓扑序列是唯一的? 

7.15 请以V0为源点,给出用DFS搜索图7.28(上图)得到的逆拓扑序列。