当前位置: 首页 > 面试题库 >

Javascript数据结构库

微生学
2023-03-14
问题内容

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

我最感兴趣的是:

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

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

  • 映射,如果键值是字符串或数字,
  • 一组(使用地图实现),
  • 队列,尽管如下所述,但在某些浏览器中效率低下,

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


问题答案:

我建议使用Closure库(尤其是Closure编译器)。

在这里,您有一个具有数据结构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

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

如果您需要处理数组,那么还有一个数组库:goog.array。

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



 类似资料:
  • 包含了多种基于 JavaScript 的算法与数据结构。每种算法和数据结构都有自己的 README,包含相关说明和链接,以便进一步阅读 (还有 YouTube 视频) 。

  • 数组是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据(JS里可以是任意类型)。 关键点:连续的存储空间(数组可以进行随机访问) // js let data = [] // c int data[200] = { 0 }; // 编译时 就已经确定所有的值为零 // java int data[] = new int[3]; // 开辟了一个长度为3的数组 在Ch

  • 试图让两个数据集相交,但我做不到:(。例如,在我下面的代码中,相交mySet和mySet2应该得到“1”,因为它们的集合中都有值“1”)。 集合1和集合2中都有“1”,但我的函数(交集)不返回它。我不确定如何将它们相交,我搜索了stackoverflow,发现相交_具有破坏性,但这对我不起作用,我还尝试了: 在javascript中数组交集的最简单代码 但当我尝试运行“过滤器”时,它会出错。

  • PHPSSO 数据库结构[更新日期:2010-12-28] 点击查看 PHPCMS 数据库结构[更新日期:2010-12-28] 点击查看

  • 顺序结构 顺序栈(Sequence Stack) SqStack.cpp 顺序栈数据结构和图片 typedef struct { ElemType *elem; int top; int size; int increment; } SqStack; 队列(Sequence Queue) 队列数据结构 typedef struct { ElemType * elem; int fron

  • 数据结构 Collection 和 Sequence Clojure 常用的数据结构有 List, Map, Vector, Set. 他们都属于 Collection, 之间的关系大致是这样: 属于 Clojure 当中实现的数据结构都是 Collection. 编码当中会遇到 Host 平台的数据类型, 不属于 Collection. 实现了 Collection 的接口的数据结构都支持这些函

  • 1 红黑树 红黑树与AVL的比较: AVL是严格平衡树,因此在增加或者删除节点的时候,根据不同情况,旋转的次数比红黑树要多; 红黑是用非严格的平衡来换取增删节点时候旋转次数的降低; 所以简单说,如果你的应用中,搜索的次数远远大于插入和删除,那么选择AVL,如果搜索,插入删除次数几乎差不多,应该选择RB。 红黑树详解: https://xieguanglei.github.io/blog/post/

  • 数据结构(Data Structures)基本上人如其名——它们只是一种结构,能够将一些数据聚合在一起。换句话说,它们是用来存储一系列相关数据的集合。 Python 中有四种内置的数据结构——列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。我们将了解如何使用它们,并利用它们将我们的编程之路变得更加简单。 列表 列表 是一种用于保存一系列有序项目的集合,也就是说,