图的存储结构
邻接矩阵
即二维数组 初始化需要O(n^2)的复杂度建图需要O(m)总时间复杂度为O(n^2)空间上邻接矩阵的开销也是O(n^2)与点的个数有关.优点是简单实现,缺点是遍历效率低且不能存储重边
前向星
一种通过存储边信息的方式来存储图的数据结构。构造方式非常简单,读入每条边的信息,将边存放在数组中,把数组中的点按起点顺序排序。
构造
int head[Maxn]
struct NODE
{ int from;//起点
int to//重点
int w;//权值
} ;NODE edge[Maxn];//比较函数bool cmp(NODE a,NODE b){if(a.from==b.from&&a.to==b.to)return a.w<b.w;if(a.from==b.from)return a.tp<b.to;return a.from<b.from;}