我想请求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)。我们将了解如何使用它们,并利用它们将我们的编程之路变得更加简单。 列表 列表 是一种用于保存一系列有序项目的集合,也就是说,