[理学]数据结构重点例题_相当有用!.pptVIP

  • 267
  • 0
  • 约2.3万字
  • 约 63页
  • 2018-03-07 发布于浙江
  • 举报
[理学]数据结构重点例题_相当有用!

  第二章 习题   2.6, 2.7, 2.9, 2.11,  2.14, 2.21, 2.22, 2.24 第九章 习题 10.1, 10.7, 10.12, 10.26, 10.33 6.42. 编写递归算法,计算二叉树中叶子结点的数目。 int Leaves(Bitree T) //求二叉树中叶子结点的数目 { if(!T) return 0; // 空树没有叶子结点 else if (T-lchild==NULL T-rchild==NULL) return 1; //叶子结点 else return Leaves(T-lchild) + Leaves(T-rchild); } // Leaves 第七章 习题 7.1, 7.7, 7.9, 7.11, 7.23 7.23(3). 试基于图的广度优先搜索策略写一算法,判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i!=j)。注意:算法中涉及的图的基本操作必须在此存储结构上实现。 7.1. 已知如右图所示的有向图,请给出该图的 (1) 每个顶点的入出度; (2) 邻接矩阵; (3) 邻接表; (4) 逆邻接表; (5) 强连通分量; 答案(书): (1) (2)邻接矩阵 0 0 0 0 0 0 顶点 1 2 3 4 5 6 1 0 0 1 0 0 入度 3 2 1 1 2 2 0 1 0 0 0 1 出度 0 2 2 3 1 3 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0 (3) 邻接表 6 5 4 1 2 3 4 6 6 1 5 1 2 5 3 ^ ^ ^ ^ 2 1 ^ 1 2 3 4 5 6 7.1. 已知如右图所示的有向图,请给出该图的 (1) 每个顶点的入出度; (2) 邻接矩阵; (3) 邻接表; (4) 逆邻接表; (5) 强连通分量; 6 5 4 1 2 3 6 5 4 1 2 3 答案(书): (4) 逆邻接表 (5)有3个强连通分量 6 4 3 4 2 ^ ^ ^ 3 ^ 1 2 3 4 5 6 6 5 2 ^ 6 4 ^ 7.7. 试对右边的无向带权图, (1) 写出它的邻接矩阵,并按Prim算法求其最小生成树 (2) 写出它的邻接表,并按Kruscal算法求其最小生成树。 d c g h e f a b 5 5 4 6 3 5 2 6 7 9 3 4 5 5 答案: (1)邻接矩阵 a b c d e f g h a ∞ 4 3 ∞ ∞ ∞ ∞ ∞ b 4 ∞ 5 5 9 ∞ ∞ ∞ c 3 5 ∞ 5 ∞ ∞ ∞ 5 d ∞ 5 5 ∞ 7 6 5 4 e ∞ 9 ∞ 7 ∞ 3 ∞ ∞ f ∞ ∞ ∞ 6 3 ∞ 2 ∞ g ∞ ∞ ∞ 5 ∞ 2 ∞ 6 h ∞ ∞ 5 4 ∞ ∞ 6 ∞ Prim 算法: ac(3)边, ab(4)边, bd(5)边, dh(4)边 dg(5)边, gf(2)边, fe(3)边 最小代价:26. d c g h e f a b 5 5 4 6 3 5 2 6 7 9 3 4 5 5 7.7. 试对右边的无向带权图, (1) 写出它的邻接矩阵,并按Prim算法求其最小生成树 (2) 写出它的邻接表,并按Kruscal算法求其最小生成树。 d c g h e f a b 5 5 4 6 3

文档评论(0)

1亿VIP精品文档

相关文档