- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构(第7章)图
第七章 图;第七章 图;7.1 基本术语;顶点V的度 = 与V相关联的边的数目
在有向图中:
顶点V的出度 = 以V为起点有向边数
顶点V的入度 = 以V为终点有向边数
顶点V的度 = V的出度+V的入度
设图G的顶点数为n,边数为e
图的所有顶点的度数之和 = 2*e
(每条边对图的所有顶点的度数和“贡献”2度) ;
在图G=V,E中,若有顶点序列v1,v2,… ,vk,且vi,vi+1?E(有向图)或(vi,vi+1)?E(无向图),其中i=1,2,…k-1,v=v1,u=vk,则称该序列是从顶点v到顶点u的路径;若v=u,则称该序列为回路。;简单路径、简单回路
在一条路径中, 除起点和终点外,若其余顶点各不相同,则称该路径为简单路径。
由简单路径组成的回路称为简单回路。
例如在上面的无向图中,V0,V1,V2,V3是简单路径V0,V1,V2,V4,V1不是简单路径;在下面的有向图中,V0,V2,V3,V0是简单回路。;连通图、强连通图
在无(有)向图G=V, E中,若对任何两个顶点u、v都存在从u到v的路径,则称G是连通图(强连通图)。;连通分量、强连通图分量
无(有)向图的极大连通子图称为其(强)连通分量。;生成树
一个连通图的生成树是一个极小连通子图,它含有图中全部顶点,但只有足以构成一棵树的n-1条边。;如果在一棵生成树上添加一条边,必定构成一个环。
一棵有n个顶点的生成树有且仅有n-1条边。
如果一个图有n个顶点和小于n-1条边,则是非连通图。
如果一个图有n个顶点和多于n-1条边,则一定有环。
有n-1条边的图不一定是生成树。
生成树可能不惟一。;无向图及其生成树;赋权图;有向图的强连通子图;例1 交通图(公路、铁路)
顶点:地点
边:连接地点的公路
交通图中的单行道双行道,分别用有向边、无向边表示;7.2 图的存储结构;7.2.1 图的数组表示法;注:用两个数组分别存储顶点表和邻接矩阵
#define INFINITY INT_MAX //最大值∞
#define MAX_VERTEX_NUM 20 //假设的最大顶点数
Typedef enum {DG, DN, AG, AN } GraphKind;
//有向/无向图,有向/无向网;对于n个顶点的图或网,空间效率=O(n2);Status CreateUDN(Mgraph G){
//无向网的构造,用邻接矩阵表示
scanf(G.vexnum, G.arcnum, IncInfo);
//输入总顶点数n、总弧数e和信息
for(i=0;iG.vexnum,;++i) scanf(G.vexs[i] );
//输入n个顶点值,存入一维向量;对于n个顶点e条弧的网,
建网时间效率 = O(n+n2+e*n);1)无向图的邻接矩阵是对称矩阵,同一条边表示了两次;
2)顶点v的度:等于二维数组对应行(或列)中值为1的元素个数;
3)判断两顶点v、u是否为邻接点:只需判二维数组对应分量是否为1;
4)顶点不变,在图中增加、删除边:只需对二维数组对应分量赋值1或清0;;5)设图的顶点数为 n ,用有n个元素的一维数组存储图的顶点,用邻接矩阵表示边,则G占用的存储空间为:n+n2;图的存储空间占用量只与它的顶点数有关,与边数无关;适用于边稠密的图;?;1) 有向图的邻接矩阵不一定是对称的;
2) 顶点v的出度:等于二维数组对应行中值为1的元素个数;
3)顶点v的入度:等于二维数组对应列中值为1的元素个数;;网的数组表示法;7.2.2 图的邻接表存储结构;网的邻接链表表示;7.2.2 邻接表的类型定义;7.2.2(续) 图的邻接表表示;有向图的邻接表表示;有向图的逆邻接表表示;7.2.3 有向图的十字链表表示;v0;v0;7.2.4 无向图的邻接多重表表示;v0;7.3 图的遍历;7.3.1 深度优先搜索(DFS);从图中某顶点v出发:
(1)访问顶点v;
(2)依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问;
(3)若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到图中所有顶点均被访问过为止。;深度优先遍历过程是递归的,在遍历过程中,若某个顶点的所有邻接顶点均被访问过,则需要回溯。;void DFSTraverse(Gra
您可能关注的文档
最近下载
- 昆西37~160KW空压机样本.pdf VIP
- MEDICA-EQUAsmart机器简介课件.ppt VIP
- 电解铝行业较大危险因素辨识与防范指导手册.docx
- 2024年人教版历史7年级上册全册课件(新版教材).ppt
- 《临床营养学》Word版-急诊临床营养学教材--目录.docx VIP
- 种植三方合同协议.docx VIP
- 2026-2030中国无人机航空电子行业发展形势与前景动态预测报告.docx
- (完整版)青少版新概念入门级A期末测试卷.docx VIP
- 2025年一级建造师考试真题及答案《市政实务》.docx VIP
- 2026人教版六年级上册数学期末考试试卷(3套含答案解析).pdf
原创力文档


文档评论(0)