【发布时间】:2012-06-22 20:54:28
【问题描述】:
我需要一个 Javascript 数据结构,它可以让我有效地插入字符串和搜索字符串。我一直在环顾四周,我遇到的唯一数据结构是对象和数组。对象更多地用于封装,不能真正用于搜索,使用数组可能会很慢。是否有任何其他数据结构可以让我有效地插入和搜索字符串?现在充其量我可以对数组进行二进制搜索。还有其他想法吗?谢谢。
【问题讨论】:
-
请详细说明您希望执行哪种“搜索”。
-
您能否更具体地说明“插入”和“搜索”的含义?
-
好吧,我想在某个数据结构中插入一个字符串,然后返回并搜索该数据结构以查看该字符串是否存在。搜索的字符串数量相当大,并且经常出现,因此使用线性搜索(for循环)不是最好的方法。
-
搜索完全匹配还是部分匹配?
-
@ewein 然后使用地图/“对象”。
strs = {"hello world": 1}; "hello world" in strs // -> true in "O(1)" time(请记住,用于访问对象属性的键会自动转换为字符串,这里没问题,因为它们只是字符串。)
标签: javascript performance data-structures