【问题标题】:javascript datastructures: priority queue, dictionary, balanced binary tree?javascript 数据结构:优先级队列、字典、平衡二叉树?
【发布时间】:2012-05-31 05:31:11
【问题描述】:

是否有提供通用数据结构的 javascript 库,例如优先级队列、字典和后继查询(平衡树)?我可以自己动手,但我宁愿拥有一个黑匣子,尤其是如果它已经“优化”过的话。

【问题讨论】:

  • 您可以使用 Javascript 数组作为字典。我认为 JS 引擎的实现应该在一定程度上优化操作。
  • @nhahtdh:为什么是数组?一个普通的Object 工作正常。
  • @icktoofay:我认为你是对的。我还是个 JS 新手。
  • @icktoofay 是的。这是重复的。我发誓我在发布问题之前确实看过,所以我不确定为什么我没有看到那个...感谢您的参考。

标签: javascript data-structures


【解决方案1】:

Google 的 Closure 库应该包含您需要的大部分内容: https://developers.google.com/closure/library/

【讨论】:

    【解决方案2】:

    使用下面已经实现的集合类库:https://www.npmjs.com/package/collectiondatalib

    例子:

    const lib = require('collectiondatalib') lib.Search.binary_search([1,2,3,4,5], 5)

    4

    lib.Sort.bubble_sort([3,5,1,4,2])

    [ 1, 2, 3, 4, 5 ]

    lib.Sort.merge_sort([3,5,1,4,2])

    [ 1, 2, 3, 4, 5 ]

    let list = new lib.SinglyLinkedList()

    list.push(12) list.push(13) list.push(14) console.log(list)

    SinglyLinkedList { head: Node { val: 12, next: Node { val: 13, next: [节点] } },尾:节点{ val:14,下一个:null },长度:3 }

    let queue=new lib.PriorityQueue() queue.enqueue("hello",5) queue.enqueue("hi",4)

    【讨论】:

    • 请不要只发布一些工具或库作为答案。至少在答案本身中展示how it solves the problem
    • 添加了如何使用这个库的例子
    猜你喜欢
    • 2017-10-18
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 2013-04-15
    相关资源
    最近更新 更多