图的存储与遍历

图的存储结构主要有邻接矩阵和邻接表存储两种存储方式

在遍历方式上有广度遍历和深度遍历

广度遍历就是按层次遍历,可以借助队列实现

深度遍历可以理解为一种递归遍历

在练习程序中选择用邻接表结构存储图,图的结构如图所示

如果邻接矩阵结构存储图的话,当图的节点较多,但边数较时浪费了存储空间。

邻接表结构的话可以先用头节点链表存储所有的图的节点,每一个头节点又是以该头节点为起始节点的边的链表的起始点。

每个链接表的节点结构为

该节点在头节点链表中的位置,和其下一节点。

我觉得做图的相关存储时的关键点:

 图的头节点链表的结构和边链表的结构

头节点中要包含该节点的值和边链表的链表指针,在C#中用类的示例来表示

示例代码为:

 

 

Code

 

 

 

 

posted @ 2009-03-06 20:52  smile2you  阅读(1235)  评论(0编辑  收藏  举报