Java 加权无向图

Java 加权无向图,java,graph,Java,Graph,我搜索过谷歌,浏览了一些Safari在线资料;我还没有找到一个关于如何在Java中创建加权无向图的好例子 有没有人有一个很好的例子,或者我能读到的任何资料,说明用Java存储加权无向图的方法 任何帮助和所有例子都将不胜感激 谢谢大家! 看一看 编写自己的.gv生成器(使用PrintStream很容易) 有很多方法可以做到这一点@贝利提到了一个好方法。另一种有用的方法是在某些情况下使用邻接矩阵。即一个2D数组整数[n][n],其中n是顶点,交点表示权重。Null表示没有边缘。如果只有Java

我搜索过谷歌,浏览了一些Safari在线资料;我还没有找到一个关于如何在Java中创建加权无向图的好例子

有没有人有一个很好的例子,或者我能读到的任何资料,说明用Java存储加权无向图的方法

任何帮助和所有例子都将不胜感激

谢谢大家!

看一看

  • 编写自己的.gv生成器(使用PrintStream很容易)

    • 有很多方法可以做到这一点@贝利提到了一个好方法。另一种有用的方法是在某些情况下使用邻接矩阵。即一个2D数组
      整数[n][n]
      ,其中n是顶点,交点表示权重。Null表示没有边缘。

      如果只有Java有办法创建新类……这是一个用于密集链接映射的好方法,我的解决方案更适合于稀疏链接映射。非常正确。对于稀疏图,这种方法的内存效率不高。然而,它确实非常适合在图上执行矩阵运算。我不记得这样做的用例,但我大学时代的模糊记忆似乎表明它们的存在。这听起来可能很愚蠢,但我知道邻接矩阵/列表表示一个图、它的节点和节点的邻居。它能完全代表一个图吗,这样你就不需要做一棵树——树只是图的一个特例;您所表示的图形可能是树,也可能不是树。你不能用任何图形“做一棵树”。树是图的子集。图要么是树,要么不是树。使用
      整数[n][n]
      是一个邻接矩阵。你可以在上面做矩阵运算,有些甚至可能有用。它还使得在节点之间查找边成为一个O(1)操作,边列表是O(n)的简单形式,并且很可能是O(logn)的高效数据结构。使用邻接矩阵不允许节点之间有多条边,这可能不适合于对类似。。。航班时刻表。我认为OP正在寻找一些想法,从哪里开始编写个人充实/家庭作业完成的图表数据结构。谢谢!我来看看这些!“我认为OP正在寻找一些想法,从哪里开始编写个人充实/家庭作业完成的图形数据结构”——是的,我感到困惑。很抱歉