我的项目是使用java实现最小生成树。我的目标是使用 Prim 的算法来完成任务。
该图的定义是 G = (V, E),其中 V 是引脚集,E 是引脚对之间可能互连的集,对于 E 中的每个边 (u,v),我们有一个权衡 w(u,v) 指定连接 u 和 v 的成本。
我的想法是使用两个 HashMap 。首先将 pin 作为键,将邻居列表作为值。第二个 HashMap 将以边 (u,v) 列表作为键,值将是其权重。
您认为存储图表的最佳方式是什么?
最佳答案
图通常(不考虑这些图使用的算法)存储为:
- 邻接表,
- 邻接矩阵,
- 事件列表,
- 关联矩阵。
在内存使用和遍历它们所需的时间方面,它们都有各自的优点和缺点。 Wikipedia关于计算机中的图形表示有一篇很棒的文章。
关于Java:最小生成树的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9942444/