字典树广泛运用于搜索引擎中。它是一种树状结构,最多有26个分支,可以用这种结构存储单词。
这种结构广泛运用于搜索引擎中,例如百度中,只要搜索几个字就可以自动跳出搜索者可能要查的一整个问题。因为这种结构是树状分支,不需要单独每个单词,如果单词多,就可以非常省空间。
举个例子:do、down和download都有相同的部分,那么用字典树只要存储do、wn、load这几个部分即可。不需要单独来存储三个单词。但是如果收录的单词少,还是有点浪费空间的,大量的指针/数组的存储空间都会没有数据。就如下面的那个表。
root
/ | \
c d e
/ | | /
a r o a
/ \ \ | |\
t k y g t c
| | |
c e h
|
h
另一表示方法:
将其在二维数组中表示如下(只表示了cat/catch/cake):
例:寻找cake:
先在第0行找c,c这里是1。
接下来再去第1+1(2)行找,a是2。
再到第2+1(3)行找,k是6。
再到第6+1(7)行,找到e,完成。
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||||||||||||||||||||
| 2 | ||||||||||||||||||||||||||
| 6 | 3 | |||||||||||||||||||||||||
| 4 | ||||||||||||||||||||||||||
| 5 | ||||||||||||||||||||||||||
| 7 | ||||||||||||||||||||||||||
2252

被折叠的 条评论
为什么被折叠?



