【发布时间】:2011-08-20 01:10:13
【问题描述】:
我想请教一些 JavaScript 库/库的推荐,这些库提供一些基本数据结构的实现,例如优先级队列、带有任意键的映射、尝试、图等,以及一些对其进行操作的算法.
我最感兴趣的是:
- 涵盖的一组功能,
- 解决方案的灵活性 - 这主要适用于图表。例如,我是否必须使用提供的图形实现,
- 使用语言的功能特性 - 有时它提供更大的灵活性,
- 实施的性能
我想指出,我知道可以使用 JavaScript 实现以下数据结构:
- 一个映射,如果键值是字符串或数字,
- 一组,(使用地图实现),
- 一个队列,尽管正如下面指出的那样,它在某些浏览器上效率很低,
目前我最感兴趣的是优先级队列(不要与常规队列混淆),即对输入图的格式不是很干扰的图实现。例如,他们可以使用回调来遍历图的结构,而不是访问一些具有固定名称的具体属性。
【问题讨论】:
-
不是一个真正的答案,所以我会评论:其中一些是语言的一部分。所有 JavaScript 对象都是具有任意键的映射;由于属性值可以是对象,它们形成了图形。 JavaScript“数组”(aren't really arrays)提供堆栈功能(
push、pop)。 -
@Crowder 是的,我同意。但是键确实必须是数字或字符串,所以我不会称它为任意的。对于 push & pop,我当然可以使用它来实现队列,但对优先级队列没有太大帮助。求js缺少的数据结构(缺少很多)。
-
这就是为什么它是评论,而不是答案。 :-) (是的,属性名称必须是字符串。事实上,即使是数组索引也是属性名称,因此也是字符串,尽管我们几乎总是使用数字——理论上它们被转换为字符串然后查找属性,尽管人们希望实现对其进行优化。)
标签: algorithm data-structures javascript