- 3
- 0
- 约1.12万字
- 约 64页
- 2017-12-26 发布于河北
- 举报
chapter7-1_图
图 一、图的定义 ADT Graph 基本操作P: 二、图的常用术语 术语 权 与图的边或弧相关的数值,如距离,耗费等 网 带权的图 子图 若G=(V,{E}), G’=(V’, {E’})且V’ V, E’ E,则称G’为G的子图 术语 无向图G=(V,{E})中,若边(v, v’)? E,则称顶点v和v’互为邻接点,或v与v’相邻接,或边(v, v’) 与顶点v和v’相关联,或边(v, v’) 依附于顶点v和v’ 无向图中顶点v的度TD(v):与顶点v相关联的边数 术语 顶点v到v’的路径 顶点v到v’所经的顶点序列 顶点v到v’的路径长度 顶点v到v’的路径上的边或弧的数目 简单路径 序列中顶点不重复出现的路径 简单回路 除第一个顶点和最后一个顶点外,其余顶点不重复的路径,又称为简单环 术语 顶点连通 在无向图中,若从顶点v到顶点v’有路径,则称v和v’是连通的 连通图 任意两个顶点都连通的图 术语 连通图的生成树 含有图中所有顶点,但仅含n-1条边(构成一棵树) 几个推论 有n个顶点的图的生成树有且仅有n-1条边 若图有n个顶点,但小于n-1条边,则图一定非连通 若图有n个顶点,但若多于n-1条边,则图一定有环 有n-1条边的图不一定是生成树 图的生成树不一定唯一 术语 对有向图,若生成树中恰有一个顶点入度为0,其余顶点入度均为1,则该图是一棵有向树 有向图的生成森林 由若干有向树组成,含有图中所有顶点,但各有向树的弧互不相交 例 练习 下图是否连通,给出所有的连通分量,并给出各图的生成树(森林) 1 7.2 图的存储结构 数组表示法 邻接表 7.2.1邻接矩阵法/数组表示法 邻接矩阵法/数组表示法 图的顺序存储结构 用两个数组分别存储数据元素(顶点)的信息和数据元素间的关系(边或弧)的信息 关于邻接矩阵 1 压缩存储 2 判定顶点间关系 无向图 顶点vi的度是邻接矩阵中第i行(列)的元素之和 有向图 第i行的元素之和为顶点vi的出度,第j列的元素之和为顶点vj的入度 3 网的邻接矩阵 图的存储结构 例:有向图G1 图的存储结构 例:无向图G2 图的存储结构 例:有向网G3 图的存储结构邻接矩阵的特点 无向图的邻接矩阵中,第i顶点的度数为第i行非零元素的个数 无向图的邻接矩阵是对称的 有向图的邻接矩阵中,第i顶点的入度为第i列非零元素的个数,第i顶点的出度为第i行非零元素的个数 邻接矩阵法简单,但空间利用率较低,尤其当图中点多边少的时候 图的存储结构 算法7.1 采用邻接矩阵构造图G的算法 图的存储结构 算法7.2 采用邻接矩阵构造无向网G的算法 例 顺序表 例 7.2.2 邻接表 邻接表 图的一种链式存储结构 由一个头结点顺序表和若干单链表组成 图中的每个顶点对应一个单链表,所有与该顶点相关联的边或弧的信息(如权值)都串连在一起 图中的每个顶点对应一个头结点顺序表中的元素,用以存储该顶点的固有属性(如顶点名)和指向对应的单链表第一个结点的指针 邻接表 图的存储结构例:无向图G1 图的存储结构 例:有向图G2 图的存储结构例:有向网G3 图的存储结构 邻接表的特点 无向图(网)中若有n个结点e条边,则相应的邻接表需n个头结点和2e个表结点。每个结点的度数等于单链表中表结点的个数 有向图(网)可选用出边表(或入边表)来描述,若有n个结点e条边,则相应的邻接表需n个头结点和e个表结点。每个结点的出度(或入度)等于单链表中表结点的个数 空间使用相对邻接矩阵来说较少 2 7.3 图的遍历 图的遍历 从图中某一顶点出发访遍图中其余结点,且使得每一个顶点仅被访问一次 是图的大部分其他算法的基础,如图的连通性、拓扑排序和求关键路径等 图的遍历方法 深度优先搜索(Depth First Search, DFS) 广度优先搜索(Breath First Search, BFS) 图的遍历 深度优先搜索(DFS) 从顶点v0出发,访问v0,然后选择一个v0邻接的、尚未被访问过的顶点v1,再从v1出发,按深度方向遍历。当遇到一个所有邻接与它的顶点都被访问过的顶点u时,回到已访问序列中最后一个拥有未被访问的相邻结点w,再从w出发,按深度方向遍历。当任何已被访问过的顶点都没有未被访问的相邻顶点时,遍历结束 图的遍历 关于深度优先搜索 对一个图而言,深度优先搜索所得到的访问序列不唯一,而是与该图存储结构中的数据顺序有关 深度优先搜索过程的实现需借助栈机制 图的遍历 广度优先搜索(BFS) 从结点v0出发,访问v0邻接到的所有未被访问的顶点v1,v2,…vt,然后再依次访问v1,v2,…vt邻接到的所有未被访问的顶点,直至访遍所有顶点 图的遍历 关于广度优先搜索(BFS) 对一个图而言,广度优先搜
原创力文档

文档评论(0)