1.图的基本概念
(1)图是由顶点集合与顶点间的关系集合组成的一种数据结构
Graph(V, E)其中V称为顶集(Vertices Set),E称为边集(Edges set) :V是顶点的非空有限集合,E是顶点之间关系的有限集合.
(2)有序图:顶点对(v1, v2)是有序的;无序图:顶点对(v1, v2)是无序的。
(3)无向边:若顶点vi, 到vj之间的边没有方向,则称这条边是无向边,用无序对(vi, vj)表示。如果图中任意两个顶点时间的边都是无向边,则称该图为无向图
一.图的存储结构:
1.1 邻接矩阵
图的邻接矩阵存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中的边或弧的信息, 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为:
1.2邻接表
邻接矩阵是一种不错的图存储结构。 但是:对于边树相对顶点较少的图,这种结构是存在存储空间的极大浪费的。
因此我们考虑先进一步,使用邻接表存储,关于邻接表的处理办法是这样:
不多说,上代码
#include<iostream>
#include<cstdio>
#include<cstdlib>
#in