河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.4 生成树和最小生成树

一个有n个顶点的连通图的生成树是一个极小连通子图。 生成树含有图中全部顶点,但只包含构成一棵树的n-1条边。 如果在一棵生成树上添加一条边,必定构成一个环:因为这条边 使得它依附的那两个顶点之间有了第二条路径。 1. 什么是生成树 1/30

连通图:仅需调用遍历过程(DFS或BFS)一次,从图中任一顶点出发, 便可以遍历图中的各个顶点。遍历中搜索边时,若顶点w首次 访问(该边也是首次搜索到),则该边是一条树边,所有树边构成一 棵生成树。 非连通图:需对每个连通分量调用一次遍历过程,所有连通分量对应 的生成树构成整个非连通图的生成森林。 2. 连通图的生成树和非连通图的生成森林 2/30

由深度优先遍历得到的生成树称为深度优先生成树。 由广度优先遍历得到的生成树称为广度优先生成树。 无论哪种生成树,都是由相应遍历中首次搜索的边构成的。 3. 由两种遍历方法产生的生成树 3/30

【例8.14】对于如下的无向图,画出其邻接表存储结构,并在该邻接 表中,以顶点0为根,画出图G的深度优先生成树和广度优先生成树。 0 1 2 3 4 5 6 7 8 9 4/30

邻接表中单链表按顶点编号递增排列! 0 1 2 3 4 5 6 7 8 9 0 1 4 5 2 3 7 6 8 9 DFS(0) 0 1 2 3 4 5 6 7 8 9 DFS树 5/30

邻接表中单链表按顶点编号递增排列! 0 1 2 3 4 5 6 7 8 9 BFS(0) 0 1 4 BFS树 5 2 3 7 6 8 9 0 1 2 3 4 5 6 7 8 9 6/30

4. 什么是最小生成树 一个带权连通图G(假定每条边上的权值均大于零)可能有多棵生成树. 每棵生成树中所有边上的权值之和可能不同. 其中边上的权值之和最小的生成树称为图的最小生成树。 7/30

1. 普里姆算法过程 普里姆(Prim)算法是一种构造性算法。假设G=(V,E)是一个具有n个 顶点的带权连通图,T=(U,TE)是G的最小生成树,其中U是T的顶点集,TE 是T的边集,则由G构造从起始点v出发的最小生成树T的步骤如下: (1)初始化U={v}。以v到其他顶点的所有边为候选边。 (2)重复以下步骤n-1次,使得其他n-1个顶点被加入到U中: ① 从候选边中挑选权值最小的边加入TE(所有候选边一定是连接两个顶 点集U和V-U的边),设该边在V-U中的顶点是k,将顶点k加入U中。 ② 考察当前V-U中的所有顶点j,修改候选边:若(k,j)的权值小于原 来和顶点j关联的候选边,则用(k,j)取代后者作为候选边。 8/30

v U 其他 顶点 V-U 移动顶点k,直到U=V 将U和V-U之间的所有边称为割集 移动的顶点k是割集中的最小边(*,k) 9/30

0 1 2 3 4 12 3 54 6 87 0 1 2 3 4 12 3 54 6 87 U V - U 示例 10/30
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.3 图的遍历.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.1 图的基本概念 8.2 图的存储结构.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.9 树算法设计和并查集.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.6 线索二叉树 7.7 哈夫曼树 7.8 二叉树与树、森林之间的转换.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.4 二叉树的层次遍历 7.5 二叉树的构造.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.3 二叉树先序、中序和后序遍历.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.2 二叉树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.1 树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第6章 数组和稀疏矩阵.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第5章 递归.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第4章 串.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第3章 栈和队列 3.2 队列.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第3章 栈和队列 3.1 栈.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.5 线性表的应用.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.3 线性表的链式存储结构 2.4 顺序表和链表的比较.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.1 线性表的定义 2.2 线性表的顺序存储结构.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第1章 绪论 1.3 算法分析 1.4 数据结构的目标.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第1章 绪论 1.1 什么是数据结构 1.2算法及其描述.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第13章 网络编程.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第12章 多线程.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.5 最短路径.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.6 拓扑排序 8.7 AOE网与关键路径.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.1 查找的基本概念 9.2 线性表的查找.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(1/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(2/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.4 哈希表查找.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.1 排序的基本概念 10.2 插入排序 10.3 交换排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.4 选择排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.5 归并排序 10.6 基数排序 10.7 各种内排序方法的比较和选择.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.8 外排序.pptx
- 《Python数据分析》课程电子教案(PPT课件)第1章 数据分析与可视化概述新.pptx
- 《Python数据分析》课程电子教案(PPT课件)第2章 Python编程基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第3章 NumPy数值计算基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第4章 pandas统计分析基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第5章 Pandas数据载入与预处理.pptx
- 《Python数据分析》课程电子教案(PPT课件)第6章 Matplotlib数据可视化基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第7章 利用Seaborn绘图.pptx
- 《Python数据分析》课程电子教案(PPT课件)第8章 pyecharts可视化.pptx
- 《Python数据分析》课程电子教案(PPT课件)第9章 时间序列数据分析.pptx
- 《Python数据分析》课程电子教案(PPT课件)第10章 SciPy科学计算.pptx
