1 / 6

6.2 树 图与最小生成树

6.2 树 图与最小生成树. 一般研究无向图 树图:倒置的树, 根 ( root ) 在上, 树叶 ( leaf ) 在下 多级辐射制的电信网络、管理的指标体系、家谱、分类学、组织结构等都是典型的树图. 6.2.1 树的定义及其性质. 任两点之间有且只有一条路径的图称为 树 ( tree ) ,记为 T 树的性质 : 最少边的连通子图,树中必不存在回路 任何树必存在次数为 1 的点 具有 n 个节点的树 T 的边恰好为 n  1 条,反之,任何有 n 个节点, n  1 条边的连通图必是一棵树 6.2.2 图的生成树

mark-silva
Download Presentation

6.2 树 图与最小生成树

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6.2 树图与最小生成树 • 一般研究无向图 • 树图:倒置的树,根(root)在上,树叶(leaf)在下 • 多级辐射制的电信网络、管理的指标体系、家谱、分类学、组织结构等都是典型的树图

  2. 6.2.1 树的定义及其性质 • 任两点之间有且只有一条路径的图称为树(tree),记为T 树的性质: • 最少边的连通子图,树中必不存在回路 • 任何树必存在次数为 1 的点 • 具有 n个节点的树 T 的边恰好为n1 条,反之,任何有n个节点, n1 条边的连通图必是一棵树 6.2.2 图的生成树 • 树 T 是连通图 G 的生成树(spanning tree),若 T 是 G的子图且包含图 G 的所有的节点;包含图 G 中部分指定节点的树称为 steiner tree • 每个节点有唯一标号的图称为标记图,标记图的生成树称为标记树(labeled tree) Caylay 定理:n (2)个节点,有nn2个不同的标记树

  3. 6.2.2图的生成树 • 如何找到一棵生成树 • 深探法(depth first search):任选一点标记为 0 点开始搜索,选一条未标记的边走到下一点,该点标记为 1,将走过的边标记;假设已标记到 i点,总是从最新标记的点向下搜索,若从 i点无法向下标记,即与 i点相关联的边都已标记或相邻节点都已标记,则退回到i1 点继续搜索,直到所有点都被标记 • 广探法(breadth first search):是一种有层级结构的搜索,一般得到的是树形图

  4. 6.2.3最小生成树 • 有n 个乡村,各村间道路的长度是已知的,如何敷设光缆线路使 n 个乡村连通且总长度最短 • 显然,这要求在已知边长度的网路图中找最小生成树 最小生成树的算法: • Kruskal算法:将图中所有边按权值从小到大排列,依次选所剩最小的边加入边集 T,只要不和前面加入的边构成回路,直到 T 中有 n1 条边,则 T 是最小生成树 • Kruskal算法基于下述定理 定理 3指定图中任一点vi,如果 vj是距 vi 最近的相邻节点,则关联边 eij 必在某个最小生成树中。 推论 将网路中的节点划分为两个不相交的集合V1和V2,V2=VV1,则V1和V2间权值最小的边必定在某个最小生成树中。

  5. 6.2.3最小生成树 • 最小生成树不一定唯一 • 定理 3 推论是一个构造性定理,它指示了找最小生成树的有效算法 • Prim算法:不需要对边权排序,即可以直接在网路图上操作,也可以在边权矩阵上操作,后者适合计算机运算 边权矩阵上的 Prim 算法: 1、根据网路写出边权矩阵,两点间若没有边,则用表示; 2、从 v1开始标记,在第一行打  ,划去第一列; 3、从所有打  的行中找出尚未划掉的最小元素,对该元素画圈,划掉该元素所在列,与该列数对应的行打  ; 4、若所有列都划掉,则已找到最小生成树(所有画圈元素所对应的边);否则,返回第 3 步。 • 该算法中,打  行对应的节点在 V1中,未划去的列在 V2中

  6. 6.2.3最小生成树       • Prim算法是多项式算法 • Prim算法可以求最大生成树 • 网路的边权可以有多种解释,如效率 • 次数受限的最小生成树—尚无有效算法 • 最小 Steiner 树—尚无有效算法

More Related