Javascript数据结构库

jul*_*icz 58 javascript algorithm data-structures

我想请求推荐JavaScript库/库,它们提供一些基本数据结构的实现,例如优先级队列,带有任意键的映射,尝试,图形等,以及对它们进行操作的一些算法.

我最感兴趣的是:

  • 涵盖的功能集,
  • 解决方案的灵活性 - 这主要适用于图表.例如,我是否必须使用提供的图形实现,
  • 使用该语言的功能特性 - 有时它提供了更大的灵活性,
  • 执行的表现

我想指出,我知道可以使用JavaScript实现以下数据结构:

  • 一个地图,如果键值是字符串或数字,
  • 一组,(使用地图实现),
  • 一个队列,虽然如下所述,但它在某些浏览器上效率低下,

目前我最感兴趣的是优先级队列(不要与常规队列混淆),图形实现对输入图的格式不是非常干扰.例如,他们可以使用回调来遍历图的结构,而不是访问具有固定名称的一些具体属性.

Paw*_*zur 34

我建议使用Closure Library(尤其是使用闭包编译器).

这里有一个包含数据结构goog.structs的库.该库包含:

goog.structs.AvlTree
goog.structs.CircularBuffer
goog.structs.Heap
goog.structs.InversionMap
goog.structs.LinkedMap
goog.structs.Map
goog.structs.PriorityQueue
goog.structs.Set
Run Code Online (Sandbox Code Playgroud)

例如,您可以使用单元测试:goog.structs.PriorityQueueTest.

如果你需要处理数组,那么还有一个数组lib:goog.array.

如评论中所述,来源已移至github.com/google/closure,文档的新位置为:google.github.io/closure-library.

  • 这些链接现已失效!数据结构库已移至:http://docs.closure-library.googlecode.com/git/namespace_goog_structs.html。PriorityQueue:在此页面上搜索structs_priorityqueue:http://docs.closure-library.googlecode.com/git/(5个文件) (2认同)
  • 该图书馆已移至[https://developers.google.com/closure/library/](https://developers.google.com/closure/library/).有关数据结构,请参阅[http://google.github.io/closure-library/api/namespace_goog_structs.html ](http://google.github.io/closure-library/api/namespace_goog_structs.html). (2认同)

小智 17

你可以尝试Buckets是一个非常完整的JavaScript数据结构库,包括:

  • 链接列表
  • 字典
  • 多字典
  • 二叉搜索树
  • 队列
  • 二进制堆
  • 优先级队列