试实现邻接表存储图的广度优先遍历
其中LGraph是邻接表存储的图,定义如下:
函数BFS应从第S个顶点出发对邻接表存储的图Graph进行广度优先搜索遍历时用裁判定义的函数Visit访问每個顶点。当访问邻接点时要求按邻接表顺序访问。题目保证S是图中的合法顶点
试实现邻接表存储图的广度优先遍历
其中LGraph是邻接表存储的图,定义如下:
函数BFS应从第S个顶点出发对邻接表存储的图Graph进行广度优先搜索遍历时用裁判定义的函数Visit访问每個顶点。当访问邻接点时要求按邻接表顺序访问。题目保证S是图中的合法顶点
当一个图为稀疏图时使用邻接矩阵会浪费大量存储空间。
邻接表法结合了顺序存储和链式存储方法减少了不必要的浪费。
1)对图G的每个顶点vi建立一个单链表第i个单鏈表中的结点表示依附于顶点vi的边(对于有向图则是以顶点vi为尾的弧)。这个单链表就称为顶点vi的边表(对于有向图则称为出边表)
2)邊表的头指针和顶点的数据信息采用顺序存储(称为顶点表)
3)邻接表中存在两种结点:顶点表结点和边表结点
4)顶点表结点由顶点域(data)和指向第一条邻接边的指针(firstarc)构成
5)边表(邻接表)结点由邻接点域(adjvex)和指向下一条邻接边的指针域(nextarc)构成
printf("请输入顶点数和边数(鉯空格隔开)"); printf("请输入相连接的两个顶点下标:");
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。