首页 > 解决方案 > 表示图的数据结构

问题描述

有几个城市及其位置,我想创建一个数据结构来表示这样的图表。该图表示为了只访问每个城市一次可以采取的所有可能路径:

图形

我的问题是,由于这可能是一个非常常见的问题,是否有算法或已经制作的数据结构来表示这一点?编程语言并不重要(尽管我更喜欢 java)。

标签: algorithmgraph

解决方案


这棵树不好。里面有多余的数据。例如,节点 2 和 4 之间的连接在树中出现了 3 次。你想要一个“结构”,自动为你的问题提供解决方案,这样对你来说更容易,但这不是解决问题的方式。输入数据是一组数据,输出数据是另一组数据,它们可能看起来相似,但也可能完全不同。

一个简单的矩阵,一个三角形为空,另一个包含数据,应该包含您需要的所有信息。矩阵的坐标是节点,单元格是距离。这是您的输入数据。

你在代码中使用这个矩阵做什么是另一回事。也许您想编写所有可能的路径。然后写它们。使用输入数据和您的代码来生成输出数据。


推荐阅读