有没有办法创建一个模仿c ++集的JavaScript数据结构?我需要在log(n)时间内执行搜索,但找不到任何适合的语言。我已经看到了几个问题,我应该将该集合表示为一个对象。那会有用吗?数组的密钥和有效负载是数字。
答案 0 :(得分:1)
对于无序集合,使用哈希表实现可能会更好。这些执行O(1)查找,只要哈希表不会过载。
对于有序的内存集,标准答案似乎是treaps(良好的平均时间,高标准偏差)和红黑树(平均时间差,标准偏差低)。这些都是O(logn)查找。
答案 1 :(得分:0)
在javascript中它必须是一个对象。
答案 2 :(得分:0)
如果您需要有序集(允许您按照您定义的顺序从最小元素循环到最大元素),您可以在JS中实现自己的数据结构。我无法提供更多相关信息,因为我没有亲手做过。
如果您对无序集感到满意,可以按照以下方式实现:
delete
删除,属性名称是要删除的对象的String表示。