0

我已经成功地实施了若干算法和数据结构。然而,我不知道我将如何实现一个图算法,因为我需要代表一个图形。我试图通过cormen等人的介绍实现算法和数据结构。人。然而,许多算法将图形作为输入,或者将树形结构作为输入,您不能仅将其作为文本提供。 我不知道如何实现的Dijkstra,贝尔曼 - 福特,弗洛伊德,沃肖尔,克鲁斯卡等 我可以代表任何图形作为基体,即使它是一个加权或向图?因为我认为我可以使用矩阵的多维数组。我认为0或1可以表示是否存在边缘,但我不确定如何使用矩阵表示任何图。那么如果一个算法将其作为输入,那么二叉树又如何呢?实现算法和数据结构的

在此先感谢。

回答

0

这是一个非常开放式的问题。答案取决于你想要做的操作类型。来表示一个简单的图形

的一种方式是一个N×N阵列,其中每个元素表示边缘。显然你只需要一个三角形,可以忽略另一半或复制信息以使查找更容易。

稀疏图具有非常大量的顶点,你可以代表一个边缘的节点有两个链接,以便它可以在两个列表。每个顶点将具有链接在一起的边的列表的头部。