数据结构图的存储表示.pptx
《数据结构图的存储表示.pptx》由会员分享,可在线阅读,更多相关《数据结构图的存储表示.pptx(28页珍藏版)》请在课桌文档上搜索。
1、图,数据结构,图的概念和操作图的存储:邻接矩阵,邻接表图的遍历:宽度优先,深度优先生成树:DFS 生成树,BFS 生成树最小生成树:Prim 算法,Kruskal 算法最短路径问题:单源点最短路径和 Dijkstra 算法所有顶点之间的最短路径和 Floyd 算法AOV 网,拓扑排序AOE 网,关键路径,主要内容,*,第七章 图,*,无向图、有向图、带权图(网),2023/4/25,3,第七章 图,Graph(V,E)V=v|v 某数据对象顶点的有穷非空集合;E=(u,v)|u,v V 或 E=|x,y V是顶点之间关系的有穷集合,也叫边(或弧)集合。称u、v互为邻接点。,图的概念,2023/
2、4/25,4,第七章 图,与之相关联的边或弧的数目有向图:D(v)=ID(v)+OD(v)ID(v):入度(in-degree),即入边数;OD(v):出度(out-degree),即出边数。,顶点的度,*,第七章 图,v,ADT Graph:Graph(self)#图的创建vertex_num(self)#获取顶点总数vertices(self)#获取图的顶点集合add_vertex(self,v)#添加顶点add_edge(self,v1,v2)#添加v1到v2的边get_edge(self,v1,v2)#获取边(v1,v2)的信息,例如权out_edges(self,v)#获取从v发出的
3、所有“边”(v的所有邻接点)degree(self,v)#求v的度,图的基本操作,*,*,第七章 图,图的存储,2023/4/25,第七章 图,7,顶点集顶点信息表顶点总数关系集顶点之间关系,即边集或弧集边或弧的总数图的类型有向、无向、带权、不带权,应存储的内容,*,*,第七章 图,邻接矩阵Adjacent Matrix,2023/4/25,9,第七章 图,无向图的邻接矩阵:对称,2023/4/25,10,第七章 图,Python等长list的list:0,1,0,0,1,0,1,0,0,0,1,1,0,0,0,1,0,1,1,1,0,0,0,0,0,1,1,1,0,0,有向图的邻接矩阵:非对
4、称,2023/4/25,11,第七章 图,Python等长list的list:0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,0,1,0,0,有向带权图的邻接矩阵,2023/4/25,12,第七章 图,Python等长list的list:0,3,5,8,inf,0,1,4,9,inf,0,2,6,inf,inf,0,带权图的无穷大:inf=float(inf),class Graph:def _init_(self,mat):vnum=len(mat)#对传入的mat做了拷贝构造 self._mat=mati:for i in range(vnum)self
5、._vnum=vnum,图的建立邻接矩阵,2023/4/25,13,第七章 图,获取顶点v的所有“邻接点”,2023/4/25,14,g1.out_edges(1)=(0,1),(4,1),(5,1),g3.out_edges(2)=(0,9),(3,2),def out_edges(self,v):获取v的所有(邻接点,边权)对,以list形式返回 assert 0=v self._vnum#用assert替代异常 return Graph._out_edges(self._mat,v)staticmethod def _out_edges(mat,v):edges=row=matv for
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 结构图 存储 表示

链接地址:https://www.desk33.com/p-354058.html