是否有用于图形操作和算法的JavaScript库?

时间:2013-01-23 15:41:59

标签: javascript math graph graph-algorithm

我需要的是pure mathematical graphs的JavaScript实现。要明确我不是指sigma.jsd3.js等图形可视化库。

我正在寻找的库将实现以下功能:

有人知道一个人是否已经存在?

6 个答案:

答案 0 :(得分:11)

现在有一个图书馆:graphlib

  

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

指定者:

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

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

答案 1 :(得分:4)

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

答案 2 :(得分:1)

借助StackOverflow的类似问题建议,我发现了几个类似主题的问题。

第一个Javascript directed acyclic graph library? (Graph visualization is NOT necessary)已关闭。 nrabinowitz建议您查看data.js。我很快浏览了data.js的源代码。它确实提供了处理图形的界面,但只是以非常基本的方式。那里没有遍历算法。似乎data.js的目标不是综合图库。

第二个,Javascript library for graph operations,几乎与此问题相同但尚无真实答案(2013-01-23 17:32)。作者c0dem4gnetic引用NetworkX这是我所需要的,但不幸的是只在Python中实现。

我自己有点兴奋地实现这样的库。图表非常酷。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

我们在Java library中有algos,我们只是想找一个空位来将它们添加到JavaScript library。这对你现在没有帮助,但可能会对以后的观众有所帮助。

答案 5 :(得分:0)

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