集合:数据元素无其他关系
- 线性结构:一对一(如线性表、栈、队列)
- 树形结构:一对多(如树)
- 图形结构:多对多 (如图)
1 图的定义
图:G=(V,E) Graph=(Vertex , Edge)
- V:顶点的有穷非空集合;
- E:边的又穷集合;
完全图:任意两个点都有边相连。
稀疏图:有很少边或弧的图。(e<nlogn)
稠密图:有较多边或弧的图。
网:弧带权的图。
邻接:有弧相连的两个顶点间的关系。
关联:弧与顶点间的关系。
顶点的度:与该顶点相关联的数目,TD(v)
2 基本术语
路径:连续的边构成的顶点序列。
路径长度:路径上边或弧的权值之和。
环(回路):第一个顶点与最后顶点相同的路径。
简单路径:除起点和终点可以相同外,其余顶点均不相同的路径。
简单回路:除起点和终点可以相同外,其余顶点均不相同的路径。
连通图、强连通图:对任意两个顶点u、v都存在从v到u的路径。
子图
连通分量、强连通分量:无向图G的极大联通子图称为G的联通向量。
极小连通子图
生成树:包含无向图G所有顶点的极小连通子图。
生成森林:对非连通图各个连通分量生成的树的集合。
3 图的类型定义
图的抽象数据类型定义:
ADT Graph{
数据对象 V:具有相同特性的数据元素的集合。