定义
- 顶点、边、边集、有向边<>、无向边(); 有向图、无向图、有向完全图、无向完全图、简单图、稠密图、稀疏图、子图、网;
- 相邻接、顶点的度(无向图)、路径、路径的长度、简单路径、回路/环、简单回路/简单环;
- 连通、连通图、极大顶点数、极大连通子图/连通分量、极大强连通子图、强连通分量、生成树、生成森林。
图的存储结构
顶点结点、边结点
顶点、边(权重、度、出度、入度)
- 邻接矩阵
- 邻接表/逆邻接表
- 十字链表(邻接表+逆邻接表)
- 邻接多重表
- 边集数组
图的遍历
- 深度优先遍历 DFS
- 广度优先遍历 BFS
最小生成树
- 普里姆算法(prim):邻接表,O(n^2)
- 克鲁斯卡尔算法(kruskal):边集数组,O(e*log e)
最短路径
- 迪杰斯特拉算法(dijkstra):O(n^3)
- 弗洛伊德算法(floyed):O(n^3)
拓扑排序
- AOV网:顶点表示活动,弧表示活动之间的优先关系
关键路径
- AOE网:顶点表示时间,有向边表示活动,边的权值表示活动持续时间。
- 事件的最早发生时间(etv)、事件的最晚发生时间(ltv)、活动的最早发生时间(ete)、活动的最晚发生时间(lte)