图算法基础知识精.ppt
《图算法基础知识精.ppt》由会员分享,可在线阅读,更多相关《图算法基础知识精.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、图算法基础知识第1页,本讲稿共29页图图图图 G=(V,E)V=顶点的非空有限集顶点的非空有限集E=边集边集=V V的子集,的子集,V中顶点对,边的有中顶点对,边的有限集。限集。|E|=O(|V|2)简单图简单图(Sample Graph)任意两个顶点最多只有一条边,且每个点都没有连任意两个顶点最多只有一条边,且每个点都没有连接到自身的边。接到自身的边。完全图完全图(Complete Grapth)若有若有n n个顶点的无向图个顶点的无向图n(n-1)/2 2条边,则此图为完全图。条边,则此图为完全图。第2页,本讲稿共29页图的扩展图的扩展扩展扩展:连通图连通图(connected graph
2、)从图中每一顶点都有到其它顶点的从图中每一顶点都有到其它顶点的路径路径 。无向图无向图(undirected graph):边边(u,v)=边边(v,u)有向图有向图(directed graph):(u,v)表示从顶点表示从顶点u u 到顶点到顶点 v v的一条有向边的一条有向边,记为记为 u uv v一个不含有环的有向图称为无环有向图一个不含有环的有向图称为无环有向图(Directed acyclic graphs,DAG)。加权图加权图(weighted graph)图中不是边就是顶点与权关联,例图中不是边就是顶点与权关联,例如:公路交通图,边以距离如:公路交通图,边以距离w为权。为权。
3、第3页,本讲稿共29页图图通常用边数通常用边数|E|E|和顶点数和顶点数|V|V|描述运行时间描述运行时间。无向图中无向图中 0|E|V|(|V|-1)/20|E|V|(|V|-1)/2有向图中有向图中 0|E|V|(|V|-1)0|E|V|(|V|-1)若若|E|V|2,图是稠密的图是稠密的 dense若若|E|V|,图是稀疏的图是稀疏的 sparse对稠密图和稀疏图使用不同的数据结构对稠密图和稀疏图使用不同的数据结构第4页,本讲稿共29页图的表示图的表示假设假设 V=1,2,n邻接矩阵(邻接矩阵(adjacency matrix)将图表示成一个将图表示成一个 n x n 矩阵矩阵 A:Ai
4、,j=1 若边若边(i,j)E (或边的权或边的权wij)=0 若边若边(i,j)E第5页,本讲稿共29页图:邻接矩阵Example:1243A123410110200103000040010有向图有向图 非对称矩阵非对称矩阵第6页,本讲稿共29页图:邻接矩阵Example:1243adbcA1234123?4第7页,本讲稿共29页图:邻接矩阵Example:1243adbcA123410ad0200b030000400c0第8页,本讲稿共29页图:邻接矩阵Example:12435143A123410350200103000040040第9页,本讲稿共29页图:邻接矩阵Example:124
5、3adbcA123410ad02a0b03db0c400c0无向图 对称矩阵第10页,本讲稿共29页图图:邻接矩阵邻接矩阵邻接矩阵的实现邻接矩阵的实现 const maxlength=100 最大顶点数最大顶点数type graph=array1.maxlength,1.maxlength of integer;二维数组二维数组第11页,本讲稿共29页输入和查看一遍邻接矩阵需要多少时间?输入和查看一遍邻接矩阵需要多少时间?答答:O(|V|2)存储一个邻接矩阵需要多少存储空间?存储一个邻接矩阵需要多少存储空间?答答:O(|V|2)稀疏图稀疏图(|E|E|V|V|或或|E|V|),|E|V|),邻
6、接矩阵是稀邻接矩阵是稀疏矩阵,浪费空间,因此采用疏矩阵,浪费空间,因此采用邻接表邻接表更有效。更有效。图图:邻接矩阵邻接矩阵第12页,本讲稿共29页图图:邻接表邻接表邻接表邻接表:对每个顶点对每个顶点 v V,将将v的所有邻接的所有邻接点存放在一个列表中。点存放在一个列表中。Example:Adj1=2,3Adj2=3Adj3=Adj4=31243第13页,本讲稿共29页1243图图:邻接表邻接表1 12 23 3nilnil2 23 3nilnil3 3nilnil4 43 3nilnil第14页,本讲稿共29页邻接表的实现邻接表的实现Type pointer=adjnode adjnode
7、=record adjvex:integer;该点在图中的位置该点在图中的位置 next:pointer;指向下一个顶点的指针指向下一个顶点的指针 infor:;与边有关的信息,如权值与边有关的信息,如权值w Adjlist=array1.maxlength of pointer;图图:邻接表邻接表第15页,本讲稿共29页 无环有向图的拓扑排序无环有向图的拓扑排序 Directed acyclic graphs(DAG)topological sort DAG:不含回路的有向图称为无环有向图。不含回路的有向图称为无环有向图。检查有向图中是否存在回路的方法之一,是检查有向图中是否存在回路的方法之
8、一,是对有向图进行对有向图进行拓扑排序拓扑排序。如果有向图如果有向图G有一个有一个拓扑排序拓扑排序,则则G是一个有向是一个有向无环图无环图.反之反之,任一有向无环图必可进行任一有向无环图必可进行拓扑排序拓扑排序。第16页,本讲稿共29页何谓何谓“拓扑排序拓扑排序”?按照有向图给出的次序关系,将图中按照有向图给出的次序关系,将图中顶点排成一个线性序列,对于有向图中没顶点排成一个线性序列,对于有向图中没有限定次序关系的顶点,则可以人为加上有限定次序关系的顶点,则可以人为加上任意的次序关系。任意的次序关系。由此所得顶点的线性序列称之为由此所得顶点的线性序列称之为拓扑拓扑有序序列有序序列第17页,本讲
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 基础知识
限制150内