【发布时间】:2017-05-17 05:29:44
【问题描述】:
假设我有一个大数组,其中每个元素都是一个单词,我想建立一个索引。
取字Water,我可以写一个返回的函数
w
wa
wat
wate
water
at
ate
ater
ter
er
r
这些结果将是哈希表中的键,其中值是包含键的单词数组。
鉴于我不关心内存消耗,并且数据是只读的,即仅在应用启动时插入:
- 从理论上讲,在查找性能方面什么会比这种技术更胜一筹?
- 这种技术叫什么名字?
【问题讨论】:
假设我有一个大数组,其中每个元素都是一个单词,我想建立一个索引。
取字Water,我可以写一个返回的函数
w
wa
wat
wate
water
at
ate
ater
ter
er
r
这些结果将是哈希表中的键,其中值是包含键的单词数组。
鉴于我不关心内存消耗,并且数据是只读的,即仅在应用启动时插入:
【问题讨论】:
我认为您正在寻找Trie:
trie,也称为数字树,有时也称为基数树或前缀 树(因为它们可以通过前缀搜索),是一种搜索 树——一种有序的树数据结构,用于存储动态 键通常是字符串的集合或关联数组。
【讨论】: