JavaScript 设置具有对数搜索时间的数据结构
JavaScript set data structure with logarithmic search time
可能的重复项:
Javascript中是否有Set数据类型的库?
有没有办法创建一个模仿 c++ 集的 JavaScript 数据结构?我需要在log(n)时间内执行搜索,但找不到任何语言中服务良好的内容。我看到过几个问题,说我应该将集合表示为一个对象。这样行得通吗?数组的键和有效负载是数字。
对于无序集合,使用哈希表实现可能会更好。 它们执行 O(1) 查找,只要哈希表不被重载。
对于有序的内存集合,标准答案似乎是 treaps(良好的平均时间、高标准差)和红黑树(较差的平均时间、低标准差)。 这些都是 O(logn) 查找。
它必须,在javascript中一切都是一个对象。
如果你需要有序集(它允许你按照你定义的顺序从最小的元素循环到最大的元素),你可以在JS中实现你自己的数据结构。我不能提供更多信息,因为我没有做过第一手资料。
如果你对无序集感到满意,可以按如下方式实现它:
- 定义要存储在集中的对象的规范化字符串表示形式。如果您需要一个带数字的集合,只需使用数字的字符串表示形式。如果需要一组用户定义的对象,则可以选取定义对象标识的属性,并在规范化的 String 表示形式中使用它们。
- 通过将规范化的字符串表示形式映射到实际对象来创建要使用的 JS 对象。
- 可以通过使用 String 表示形式检查属性名称来完成搜索。
- 可以通过以下方式插入到集合中:首先通过搜索检查 String 表示形式是否已存在,如果对象尚未在集合中,则将 String 表示映射到实际对象。
- 删除可以通过使用
delete
来完成,属性名称是要删除的对象的字符串表示形式。
相关文章:
- 用程序搜索JQuery数据表中的文本
- 在html Select中添加搜索
- Java脚本时间添加
- Ajax Live搜索发布到Laravel视图
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- 学生搜索项目jquery/javascript
- Json数据包含日期和时间格式
- JavaScript 设置具有对数搜索时间的数据结构
- 增加在选择元素HTML中搜索的时间
- 如何定义搜索词框来搜索用户'使用Twitter流API和meter.js的特定时间线
- Javascript/jQuery使用正则表达式搜索“分钟:秒”时间
- 向下搜索时,将X轴类型从类别更改为日期时间
- JS搜索通过一个嵌套的JSON结构,深度增加随着时间的推移
- 需要做多个搜索在一个时间与开始字符这是在自动完成搜索
- 如何在阿尔及利亚按时间搜索
- 我如何添加时间延迟到咖啡脚本搜索
- 如何做人们搜索多个名称在Linkedin javascript API的时间
- elasticsearch全文搜索包含开始和结束时间的所有字段
- 用于搜索时间戳的Javascript
- UTC(弹性搜索)到 MomentJs 本地时间