用于图形/网络数据结构的Java API列表

har*_*are 8 java collections graph

什么是用于处理图形(边/节点)作为数据结构的优秀Java API?

请在评论中添加对类似SO问题的引用.请直接编辑此Wiki条目中的列表.请添加已添加项目的摘要说明作为答案(每个答案一个项目).

bes*_*sil 8

为了我的MS论文,我在网上搜索了很多Java Graph Library.我建议您使用以下框架:

  1. GraphStream:它有非常简单的API,并且有很多算法.它提供了许多图形结构(有向,无向,多图,......)和许多可视化工具.
  2. JUNG:这个框架已经存在了一段时间,因此它具有强大且经过良好测试的功能.最新版本发布于2010年,因此语法相当古老.

这两个框架都有许多算法和可视化工具.

如果你关心内存和性能,而你只需要图形数据结构(没有算法,没有可视化),我建议使用AuroraGraphManager,这是我实现的图形数据结构,也是我论文的一部分.我上面提到的框架对我来说并不好,因为我不得不处理相当大的图形(多达3亿个边缘).

希望能帮助到你!


Kal*_*see 5

JGraphT -JGraphT是一个免费的Java图形库,提供数学图形理论对象和算法。JGraphT支持各种类型的图,包括:

  • 有向图和无向图。
  • 带有加权/未加权/标记或任何用户定义的边的图形。
  • 各种边多重性选项,包括:简单图,多图,伪图。
  • 不可修改的图-允许模块提供对内部图的“只读”访问。
  • 可听图-允许外部侦听器跟踪修改事件。
  • 子图图,这些图是自动更新其他图上的子图视图的图。
  • 以上图表的所有组成

(需要Java 1.6)


har*_*are 4

JUNG \xe2\x80\x94 Java 通用网络/图形框架 - 是一个软件库,它提供了一种通用且可扩展的语言,用于对可以表示为图形或网络的数据进行建模、分析和可视化。

\n