0

我已经成功实现了几种算法和数据结构。但是,我不确定如何实现图形算法,因为那时我需要表示一个图形。我正在尝试实现算法和数据结构,从 cormen 等人的算法介绍到算法。人。但是,许多算法将图形作为输入,或者将树结构作为输入,您也不能仅将其作为文本提供。我不知道如何实现 dijkstra、bellman-ford、floyd-warshall、kruskal 等。我可以将任何图表示为矩阵,即使它是加权图或有向图?因为我认为我可以将多维数组用于矩阵。我认为 0 或 1 可以表示是否存在边,但我不确定如何使用矩阵表示任何图形。那么二叉树呢,

提前致谢。

4

1 回答 1

0

这是一个非常开放的问题。答案取决于您想要执行的操作类型。

表示简单图的一种方法是 N x N 数组,其中每个元素代表一条边。显然,您只需要一个三角形,可以忽略另一半或复制信息以使查找更容易。

对于具有大量顶点的稀疏图,您可以将边表示为具有两个链接的节点,以便它可以位于两个列表中。每个顶点都将具有链接在一起的边列表的头部。

于 2013-06-22T16:56:29.533 回答