71 图的定义和基本术语 71 图的定义和基本术语.ppt_第1页
71 图的定义和基本术语 71 图的定义和基本术语.ppt_第2页
71 图的定义和基本术语 71 图的定义和基本术语.ppt_第3页
71 图的定义和基本术语 71 图的定义和基本术语.ppt_第4页
71 图的定义和基本术语 71 图的定义和基本术语.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章图 7 1图的定义和基本术语7 2图的存储结构7 2 1数组表示法7 2 2邻接表7 2 3十字链表7 2 4邻接多重表7 3图的遍历7 3 1深度优先搜索7 3 2广度优先搜索7 4图的连通性问题7 4 1无向图的连通分量和生成树7 4 2最小生成树7 5有向无环图及其应用7 5 1拓扑排序7 5 2关键路径7 6最短路径7 6 1从某个源点到其余各顶点的最短路径7 6 2每一对顶点间的最短路径 图 Graph 是较线性表和树更为复杂的结构 图中任意数据两个元素之间都可能相关 第七章图 G1 V1 A1 V1 v1 v2 v3 v4 A1 G2 V2 E2 V2 v1 v2 v3 v4 v5 E2 v1 v2 v1 v4 v2 v3 v2 v5 v3 v4 v3 v5 7 1图的定义和基本术语 顶点弧弧尾弧头 顶点边 7 1图的定义和基本术语 续一 完全图 n个顶点有n n 1 2条边的无向图有向完全图 n个顶点有n n 1 条弧的有向图稀疏图 有很少条边的图 如边数e nlogn 稠密图 非稀疏图权 与边或弧相关的数网络 带权的图 2 7 4 子图 G V E 和G1 V1 E1 若V1属于V E1属于E则G1是G的子图 7 1图的定义和基本术语 续二 邻接点 无向图中有边相连的两个顶点互为邻接点顶点的度 无向图中和某顶点相连的邻接点数入度 有向图中指向某顶点的弧的数目出度 有向图中从某顶点出发的弧的数目 7 1图的定义和基本术语 续三 路径 两个顶点之间的顶点序列 该序列的每个顶点与其前驱是邻接点 每个顶点与其后继也是邻接点回路 环 第一顶点和最后顶点相同的路径简单路径 顶点不重复的路径连通 两个顶点之间有路径连通图 任意两个顶点之间有路径连通分量 无向图中的极大连通子图 强连通图 任意两个顶点之间有双向路径强连通分量 有向图中的极大强连通子图 连通图的生成树 极小连通子图 不唯一 但n个顶点的生成树有且仅有n 1条边 生成森林 7 2图的存储结构7 2 1数组表示法 defineINFINITYINT MAX defineMAX VERTEX NUM20typedefenum DG DN AG AN GraphKind typedefstructArcCell VRTypeadj InfoType info ArcCell AdjMatrix MAX VERTEX NUM MAX VERTEX NUM typedefstruct VetexTypevexs MAX VERTEX NUM AdjMatrixarc intvexnum arcnum GraphKindkind MGraph 数组表示法 邻接矩阵 无向图 有向图 网均适用易求各顶点的度 例如有向图G1和无向图G2的邻接矩阵为 n2的存储量无向图的邻接矩阵总是对称的 可以采用压缩存储 网及其邻接矩阵 7 2 2邻接表 链式存储结构 defineMAX VERTEX NUM20typedefstructArcNode intadjvex structArcNode nextarc InfoType info ArcNode typedefstruct AdjListverteces intvexnum arcnum intkind ALGraph typedefstructVNode VetexTypedata ArcNode firstarc Vnode AdjList MAX VERTEX NUM 邻接表的链式存储结构示意图 G1的邻接表 G2的邻接表 G1的逆邻接表 邻接表 求出度容易 求入度难 邻接表 求入度容易 求出度难 7 3图的遍历 图的遍历 从图的某顶点出发 访问所有顶点 且每个顶点仅被访问一次 两种遍历图的路径 深度优先搜索和广度优先搜索它们对无向图和有向图都适用深度优先搜索类似于树的先根遍历广度优先搜索类似于树的层次遍历 7 3 1深度优先搜索 V1 遍历顺序 非连通的图重复上述过程 使每个顶点均被访问 V1 V2 stack V4 V8 V5 深度优先搜索算法 Booleanvisited MAX Status VisitFunc intv voidDFSTraverse GraphG Status visit intv VisitFunc visit for v 0 v G vexnum v visited v FALSE for v 0 v G vexnum v if visited v DFS G v voidDFS GraphG intv visited v TRUE VisitFunc v for w FirstAdjVex G v w w NextAdjVex G v w if visited w DFS G w 7 3 2广度优先搜索 12345678 遍历顺序 非连通的图重复上述过程 使每个顶点均被访问 voidBFSTraverse GraphG Status visit intv for v 0 v G vexnum v visited v FALSE IntiQueque Q for v 0 v G vexnum v if visited v EnQueue Q v while QueueEmpty Q DeQueue u visited u TRUE Visit u for w FirstAdjVex G u w w NextAdjVex G u w if visited w visited w TRUE visited w EnQueue G w 广度优先搜索算法 7 4图的连通性问题 7 4 1无向图的连通分量和生成树 7 4 3最小生成树 连通网的生成树一棵生成树的代价 树上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论