图的存储

1. 一般来说,图的存储方式有两种:邻接矩阵和邻接表

2. 对无向图来说,邻接矩阵是一个对称矩阵

3. 邻接矩阵只适用于顶点数目不太大(一般不超过1000)的题目

4. 邻接表:vector<int> Adj[N]   //每个Adj[i]都是一个变长数组vector



图的遍历

const int MAXV = 1000;  //最大顶点数

const int INF = 1000000000;     //设INF为一个很大的数

DFS


DFS遍历图


BFS


BFS遍历图


BFS输出顶点层号



最短路径






最小生成树MST

1. 最小生成树是在一个给定的无向图G(V,E)中求一棵树T,使得这棵树拥有图G中的所有顶点,且所有边都是来自图G中的边,并且满足整棵树的边权之和最小

2. 最小生成树是树,因此其边数等于顶点数减一,且树内一定不会有环

3. 对给定的图G(V,E),其最小生成树可以不唯一,但其边权之和一定是唯一的

4. 求解最小生成树一般有两种算法,即prim算法与kruskal算法。这两个算法都采用了贪心法的思想,只是贪心的策略不太一样

5. 如果是稠密图(边多)则用prim算法;如果是稀疏图(边少)则用kruskal算法


prim算法--邻接矩阵


prim算法--邻接表


kruskal算法



拓扑排序

拓扑排序一个很重要的应用就是判断一个给定的图是否是有向无环图。


拓扑排序



关键路径

1. AOE网中的最长路径被称为关键路径(强调:关键路径就是AOE网的最长路径),而把关键路径上的活动称为关键活动,显然关键活动会影响整个工程的进度

2. 关键活动是那些不允许拖延的活动,因此这些活动的最早开始时间必须等于最迟开始时间

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据结构 - 图(基础概念)[https://www.jianshu.com/p/c5dba96f1509] 数据...
    Whyn阅读 1,580评论 0 0
  • 1.图的基本概念 图由有限顶点集V和有限边(弧)集E组成,顶点集不可为空,边(弧)集可为空 有向图:E是有向边(即...
    WilsonEdwards阅读 1,661评论 0 1
  • (一)图的定义与存储 1.图的定义 图G是由集合V和E构成的二元组,记作G=(V,E),其中V是图中顶点的非空有限...
    Levi_moon阅读 1,117评论 0 1
  • 主要知识点 图的概述 图的存储结构 图的遍历 最小生成树 最短路径 拓扑排序 关键路径 一、图的概念 图的定义: ...
    JiaJianHuang阅读 1,767评论 0 0
  • 图的定义与术语 1、图按照有无方向分为无向图和有向图。无向图由顶点和边构成,有向图由顶点和弧构成。弧有弧尾和弧头之...
    unravelW阅读 435评论 0 0