算法学习笔记·字典树

字典树广泛运用于搜索引擎中。它是一种树状结构,最多有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,完成。

ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
2
63
4
5
7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值