29
4

8 回答 8

23

现在有一个库:graphlib

Graphlib 是一个 JavaScript 库,它为无向和有向多图提供数据结构以及可以与它们一起使用的算法。

实现:

  • 有向图和无向图(A -> B 是否暗示 B -> A)
  • 多重图(来自 A -> B 的多个不同的命名边)
  • 复合图(节点可以有形成“子图”的子节点)
  • Dijkstra 算法(最短路径)
  • Floyd-Warshall 算法(支持负权重的最短路径)
  • Prim 算法(最小生成树)
  • Tarjan 算法(强连通分量)
  • 拓扑排序(有向无环图的依赖排序)
  • 前序和后序遍历(每个节点上的回调)
  • 查找所有循环并测试图是否是非循环的
  • 查找所有连接的组件

支持 NPM、Bower 和浏览器,MIT 许可证。

于 2016-01-19T16:04:29.383 回答
4

几个月前,我创建了一个在 JavaScript 中实现不同 CS 算法的存储库。也很少有带图的算法。我计划扩展它(生成树,启发式算法可能是彩色图),但从那以后我认为仍然很少有算法可以帮助你。

于 2013-01-23T21:30:34.400 回答
1

我 在 javascript中制作了一个图形算法库https://github.com/devenbhooshan/graph.js 。图书馆很干净而且很简单。这是非常容易使用。只需将 graph.js 文件插入您的项目并开始使用它。

于 2014-04-03T19:03:44.153 回答
1

在 StackOverflow 的类似问题建议的帮助下,我发现了几个主题相似的问题。

第一个,Javascript有向无环图库?(图形可视化不是必需的),很接近。nrabinowitz建议检查data.js 我快速浏览了data.js的源码。它确实提供了处理图形的界面,但只是以非常基本的方式。那里没有遍历算法。data.js 的目标似乎也不是一个综合性的图形库。

第二个,用于图形操作的 Javascript 库,与此几乎相同的问题,但还没有真正的答案(在 2013-01-23 17:32)。作者c0dem4gneticNetworkX的引用是我非常需要的,但不幸的是仅在 Python 中实现。

我会很高兴自己实现这样一个库。图表太酷了。

于 2013-01-23T15:41:58.713 回答
1

还有js-graph-algorithms,看起来很干净并且有几种算法。它的api虽然很基础。

于 2018-07-29T12:30:20.253 回答
1

目前维护的折旧替代方案graphlib还包括 Typescript 支持将是graphology

与某些扩展(例如graphology-shortest-path.

于 2022-01-12T04:28:13.513 回答
0

我们的Java 库中有算法,我们只是想找到一个空闲槽将它们添加到我们的JavaScript 库中。这对您现在没有帮助,但可能对以后的观众有用。

于 2013-01-23T16:29:40.350 回答
0

这是用 JavaScript 实现的 Tarjan 强连接组件算法:https ://www.vacilando.org/article/javascript-implementation-tarjans-cycle-detection-algorithm

于 2022-02-17T16:38:24.063 回答