【问题标题】:Is there any JavaScript libraries for graph operations and algorithms? [closed]是否有任何用于图形操作和算法的 JavaScript 库?
【发布时间】:2013-01-07 03:42:00
【问题描述】:

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

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

有人知道是否已经存在吗?

【问题讨论】:

标签: javascript math graph graph-algorithm


【解决方案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 中实现。

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

【讨论】:

【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        现在有一个库:graphlib

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

        实现:

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

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

        【讨论】:

          【解决方案6】:

          还有js-graph-algorithms,看起来很干净,有几种算法。不过它的 api 非常基础。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-07-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多