- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件技术基础论文图的遍历
《数据结构》
课 程 论 文 报 告 书
题 目: 图与图的遍历
系 别: 机电系
学 号:
学生姓名:
目录
一、基本概念
1.图的定义
2.图的基本术语
3.遍历的定义
二、图的遍历
1.深度优先遍历
C语言实现深度优先遍历
2.广度优先遍历
C语言实现广度优先遍历
三、总结
一.基本概念
1.图的定义
图(Graph)——图G是由两个集合V(G)和E(G)组成的,记为G=(V,E)
其中:V(G)是顶点的非空有限集
E(G)是边的有限集合,边是顶点的无序对或有序对
有向图——有向图G是由两个集合V(G)和E(G)组成的
其中:V(G)是顶点的非空有限集
E(G)是有向边(也称弧)的有限集合,弧是顶点的有序对,记为v,w,v,w是顶点,v为弧尾,w为弧头
无向图——无向图G是由两个集合V(G)和E(G)组成的
其中:V(G)是顶点的非空有限集
E(G)是边的有限集合,边是顶点的无序对,记为(v,w)或(w,v),并且(v,w)=(w,v)
2.图的基本术语
有向完全图:n个顶点的有向图最大边数是n(n-1) 。
无向完全图:n个顶点的无向图最大边数是n(n-1)/2 。
权:与图的边或弧相关的数叫~。
网:带权的图叫~ 。
子图:如果图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’相关联。
顶点的度:
无向图中,顶点的度为与每个顶点相连的边数
有向图中,顶点的度分成入度与出度
入度:以该顶点为头的弧的数目
出度:以该顶点为尾的弧的数目
如果顶点vi的度记为TD(vi),则有n个顶点,e条边或
弧的图,满足:
路径:路径是顶点的序列V={Vi0,Vi1,……Vin},满足
(Vij-1,Vij)(E 或 Vij-1,Vij(E,(1j(n)
路径长度:沿路径边的数目或沿路径各边权值之和
回路/环:第一个顶点和最后一个顶点相同的路径叫~
简单路径:序列中顶点不重复出现的路径叫~
简单回路/简单环:除了第一个顶点和最后一个顶点外,
其余顶点不重复出现的回路叫~
连通:在无向图中,从顶点V到顶点W有一条路径,则
说V和W是连通的
连通图:图中任意两个顶点都是连通的叫~
连通分量:非连通图的每一个连通部分叫~
强连通分量:有向图中的极大强连通子图叫~
生成树:一个连通图的生成树是一个极小连通子图,它含有图中的全部顶点,但只有足以构成一棵树的n-1条边
路径:1,2,3,5,6,3
路径长度:5
简单路径:1,2,3,5
回路:1,2,3,5,6,3,1
简单回路:3,5,6,3
连通图
强连通图
非连通图
3.遍历的定义
所谓遍历(Traversal),是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。 遍历在二叉树、图上最重要的运算之一,是二叉树上进行其它运算之基础。当然遍历的概念也适合于多元素集合的情况,如数组。
二.图的遍历
图的遍历:从图中的某个顶点出发,按某种方法对图中的所有顶点访问且仅访问一次。
为了保证图中的各顶点在遍历过程中访问且仅访问一次,需要为每个顶点设一个访问标志,用以标示图中每个顶点是否被访问过,访问标志用数组visited[n]来表示。
图的遍历方法有两种:
深度优先搜索和广度优先搜索
1.深度优先遍历
方法:从图的某一顶点V0出发,访问此顶点;然后依次从V0的未被访问的邻接点出发,深度优先遍历图,直至图中所有和V0相通的顶点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未被访问的顶点作起点,重复上述过程,直至图中所有顶点都被访问为止
图的深度优先遍历的递归定义:
假设给定图G的初态是所有顶点均未曾访问过。在G中任选一顶点v为初始出发点(源点),则深度优先遍历可定义如下:首先访问出发点v,并将其标记为已访问过;然后依次从v出发搜索v的每个邻接点w。若w未曾访问过,则以w为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。若此时图中仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至图中所有顶点均已被访问为止。
文档评论(0)