图论(上).pptxVIP

  • 4
  • 0
  • 约6.55千字
  • 约 40页
  • 2016-08-17 发布于湖北
  • 举报
图论(上)

图论(上) 北京航空航天大学 杨博洋 buaabarty@ 主要内容 基本概念 点,边 有向图,无向图 度数,出度,入度 欧拉回路,哈密顿回路 图的同构 单源最短路,多源最短路 怎么存? 1.邻接矩阵: 优点:结构清晰,使用简单 缺点:空间效率低,太浪费,时间效率低 int map[n][n] 2.前向星: 优点:效率高,节省空间 缺点:需要排序时间的预处理,预处理过程较复杂 surct edge{int x,y;}e; st[n], ed[n] 还能怎么存? 3.邻接表 int map[n][n], len[n] 4.边表(我认为最完美的存储方式) struct edge{int y,next;}e[m]; int p[n],eid; void insert(int x, int y) { e[m]={y,p[x]}; p[x]=m++; } 和前向星一样的时间、空间复杂度,不需要排序预处理。 访问方式后面的代码会提到,也很简单! 主要内容 最短路 最短路有许多算法,算法各有利弊,要看具体情况来选择最适合的算法。 以下是三种最常见的最短路算法,一定要熟练掌握。 floyd算法 dijkstra算法 Bellman-ford算法(SPFA) Floyd算法 边的松弛:(x,y)+(y,z)(x,z) 后面的算法基本都是基于这个原理 Floyd算法:顺序枚举上式中的z,更

文档评论(0)

1亿VIP精品文档

相关文档