我需要一种快速的方法来查找字符串是否在一组字符串中。
我的设置随着时间的推移没有太大的变化,所以将它放在一个排序的数组中并使用二进制搜索是一个选项(如此建议:fastest way to determine if an element is in a sorted array)
但是考虑到我们在谈论String,使用trie会更快吗?如果是这样,我可以使用一个众所周知且受支持的实现吗? (在github上发现了一些,但似乎没有得到支持或广泛使用)。
我也在读: Fast way to find if a string is in an array
这种方法有可能超过使用trie吗?
(我没有时间尝试实施所有方法并对其进行基准测试。)
答案 0 :(得分:2)
你有JavaScript。如果你使用trie,它将是你自己在JavaScript中的实现,而哈希几乎是整个JavaScript构建的基础,在执行环境中优化为地狱。我只是这样做:
var STRINGS = {
"foo": true,
"bar": true
}
var fooExists = STRINGS.hasOwnProperty("foo");