图的存储方法
- 邻接矩阵
- 前向星
- 链式前向星
1.邻接矩阵存图
逻辑结构分为两部分:V和E集合。因此,用一个一维数组存放图中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。邻接矩阵又分为有向图邻接矩阵和无向图邻接矩阵
------百度百科
1 2 2
2 3 2
2 4 1
1 3 5
3 4 3
1 4 4
//数据
int G[maxn][maxn];
int w[maxn];
int n,m;
int x,y;
for(int i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
G[x][y]=0;
scanf("%d",&w[x][y]);
}
是一种比较容易掌握的存图方法,但是缺点是空间消耗太大,无论有几条边,都需要占用n²的空间
2.前向星存图
邻接表,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储结构。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。
同样来