C编程语言图形结构

时间:2012-06-04 22:01:11

标签: c graph

我在构建图形结构时遇到了一些麻烦。我知道如何建立一个简单的链接列表,也是双重的。但我想构建一个类似于此站点的图形结构(图片输出)http://www.cs.sunysb.edu/~algorith/files/graph-data-structures.shtml

1 个答案:

答案 0 :(得分:2)

您有三种常见的解决方案:

  • 一个邻接矩阵(在其中存储N*N矩阵,其中N是顶点数,如果matrix[x][y]x,则y存储一个值(x,y) 1}},0否则
  • 一个边缘列表,您只需保留一长串边缘,这样如果情侣x在列表中,那么从x到y就有一条边
  • 一个邻接列表,其中有一个顶点列表,每个顶点{{1}}都有一个边缘列表,这些节点的边缘为x。

根据

,每种不同的方法都是好的或坏的
  • 所需空间
  • 与特定操作相关的计算复杂性比其他
  • 更多

因此,根据您需要对图表执行的操作,您可以选择其中任何一个。如果您想了解上述可能实现的具体特征,请查看我的answer到另一个SO问题。