在阅读了许多类似的问题后:
- 一组数据结构的 JavaScript 实现
- 在 JavaScript 中模仿集合?
- Node JS,传统数据结构?(例如 Set 等),诸如 Java.util 之类的节点?
- 高效的 Javascript 数组查找
- 查找项目是否在 JavaScript 数组中的最佳方法?
- 如何检查数组是否包含 JavaScript 中的对象?
我还有一个问题:假设我有一个大字符串数组(几千个),我必须进行多次查找(即多次检查给定字符串是否包含在这个数组中)。在 Node.js 中执行此操作的最有效方法是什么?
A. 对字符串数组进行排序,然后使用二分查找?或者:
B. 将字符串转换为对象的键,然后使用“in”运算符
?
我知道 A 的复杂度是 O(log N),其中 N 是字符串的数量。
但我不知道 B 的复杂性。
如果将Javascript对象实现为哈希表,那么B的复杂度平均为O(1),优于A。但是,我不知道Javascript对象是否真的实现为哈希表!