- 1、本文档共111页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 图(Graph) 本章导读 图的逻辑结构特征及术语 图的4种存储结构 两种遍历算法 生成树和最小生成树 求最短路径的算法 拓扑排序的基本思想和步骤 关键路径法及其在管理科学中的作用 难 点 图的遍历、最小生成树、最短路径、拓扑排序 关键路径法求关键活动和关键路径的方法 要 求 熟练掌握以下内容: 图的存储结构 图的遍历算法 掌握以下内容: 图的最小生成树和求最小生成树算法的基本思想 带权有向图的最短路径问题 利用AOV网络的拓扑排序问题 利用AOE网络的关键路径法 7.1 图的定义和术语 1.图—由两个集合V(G)和E(G)组成的,记为G=(V,E) 其中:V(G)是顶点的非空有限集 E(G)是边的有限集合,边是顶点的无序对或有序对 2.有向图(Digraph)——由两个集合V(G)和E(G)组成的 其中:V(G)是顶点的非空有限集 E(G)是有向边(也称弧)的有限集合,弧是顶点的有序对,记为 v,w,v,w是顶点,v为弧尾,w为弧头 3.无向图(Undigraph)——由两个集合V(G)和E(G)组成的 其中:V(G)是顶点的非空有限集 E(G)是边的有限集合,边是顶点的无序对,记为(v,w)或(w,v),并且(v,w)=(w,v) 4.完全图(Completed graph)——n个顶点的无向图边数是n(n-1)/2 5.有向完全图——n个顶点的有向图边数是n(n-1) 6.稀疏图(Sparse graph)、稠密图(Dense graph) 7.权(Weight)——与图的边或弧相关的数 8.网(Network)——带权的图 9.子图——如果图G(V,E)和图G‘(V’,E‘),满足:V’?V,E’?E 10.顶点的度(Degree) 无向图中,顶点的度为与每个顶点相连的边数 有向图中,顶点的度分成入度与出度 入度(InDegree):以该顶点为头的弧的数目 出度(OutDegree):以该顶点为尾的弧的数目 11.邻接点(Adjacent) 12.路径(Path)——路径是顶点的序列V={Vi0,Vi1,……Vin},满足(Vij-1,Vij)?E 或 Vij-1,Vij?E,(1j?n) 13.路径长度——沿路径边的数目或沿路径各边权值之和 14.回路——第一个顶点和最后一个顶点相同的路径 15.简单路径——序列中顶点不重复出现的路径 16.简单回路——除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路 17.连通——从顶点V到顶点W有一条路径 18.连通图——图中任意两个顶点都是连通的 19.连通分量(Connected Component)——非连通无向图的每一个连通部分叫~ 20.强连通图——有向图中,如果对每一对Vi,Vj?V, Vi?Vj,从Vi到Vj 和从Vj到 Vi都存在路径,则称G是~ 21.强连通分量——有向图中的极大强连通子图 22.生成树——一个连通图的极小连通子图 23.有向树—— 24.生成森林—— 7.2 图的存储结构 多重链表:不实用 数组表示法:又叫邻接矩阵法 邻接表: 十字链表: 邻接多重表: 多重链表 缺点:结点结构不确定 邻接矩阵 ——表示顶点间相联关系的矩阵,适合存储稠密图。 定义:设G=(V,E)是有n?1个顶点的图,G的邻接矩阵A是具有以下性质的n阶方阵:.若两个结点直接相连则在矩阵中存储为1,否则为0; 特点: 无向图的邻接矩阵对称,可压缩存储;有n个顶点的无向图需存储空间为n(n+1)/2 有向图邻接矩阵不一定对称;有n个顶点的有向图需存储空间为n2 无向图中顶点Vi的度TD(Vi)是邻接矩阵A中第i行非零元素的个数 有向图中, 顶点Vi的出度是A中第i行非零元素的个数 顶点Vi的入度是A中第i列非零元素的个数 网络的邻接矩阵可定义为:两个连通的顶点对应的矩阵元素为弧的权值,否则为无穷大值。 图的数组表示结构定义 #define INFINITY INT_MAX // 最大值∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 Typedef enum{DG,DN,UDG,UDN} GraphKind;//有、无向图、网 Typedef struct ArcCell { VRType adj ; InfoType *infor; //该弧相关信息指针 }ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; Typedef struct { V
文档评论(0)