- 图的常用的两种表示:相邻矩阵和邻接表。
- 图是由顶点集V和边集E构成。
- 路径是从图中一个顶点到达另一个顶点的边的序列 路径的长度就是路径上的边的数目。
- 从图中的每一个顶点到其他的每一个顶点都有一条路径的话,这个图就是连通的;如果从每个顶点到其他的每一个顶点都有一条边的话,这个图就是完全的。
- 一个顶点的度数等于连接到它的边的数目。
- 连通区域是一个子图,包含了从给定的顶点所能到达的节点的集合。
- 环是从相同的顶点开始和结束的一条路径。
- 有向无环图(DAG):不包含环
- 拥有相对较多边的一个有向图叫做稠密图 拥有较少边的图叫做系数图
- “连通图”指的是一个无向图 “区域”指的是无向图中的一个连通区域
- 为什么使用图? 可以用图来建模的对象的范围很广阔,这些模型包括:地图、航线图、冒险游戏世界的布局、连接计算机并构成互联网的方案、Web上的页面之间的连接、学生和课程之间的关系、计算机科学系的先修课程结构、表示通信或交通网络的流量负载的图
- 关于运行时间,图操作常用的两种行为就说明了相邻矩阵和邻接表之间的计算效率上的差距。
- 基于数组的插入需要线性时间,基于链表的插入需要常数时间。
- 深度优先遍历,使用一个栈作为泛型算法中的集合 广度优先遍历,使用一个队列作为泛型算法中的集合
- 当图中的边有权重的时候,可以将一个生成树中的所有边的权重加和,以试图找出这个和最小的一个生成树。
- Floyd算法和Dijkstra算法 下一篇博客 细学