算法和数据结构的实现

时间:2013-06-22 14:41:15

标签: data-structures binary-tree implementation binary-search-tree graph-algorithm

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

提前感谢。

1 个答案:

答案 0 :(得分:0)

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

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

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