字典树(Tries)

本文介绍了字典树的概念、优点及应用,详细阐述了如何利用字典树来确定字符串是否为子串、是否为后缀以及计算出现次数。此外,还探讨了如何使用后缀字典树查找最长重复子串。
摘要由CSDN通过智能技术生成

概念

Tries树,又称键树,字典树或查找树。用来存储字符串的一种树形结构。它有三个基本性质:
1 根节点不包含字符,除根节点外每一个节点都只包含一个字符。
2 从根节点到某个一个节点,路径上经过的字符连接起来,为该节点对应的字符串。
3 每个节点的子节点包含的字符都不相同。
假设,我们有这些单词,hello, he, she, abc, aha, ok, abcd,对其构造字典树如下:
                 

红色节点表示以该节点表示字符结尾的单词存在。假设我们有上面一棵字典树,现在要查找其中是否存在hell,查找过程是这样的,从根节点出发,顺序经过h-->e-->l-->l,到达l节点,因为l没有标记为红色,所以hell单词不存在。插入过程很类似于查找过程,找不到就插入。所以字典树是边查找边插入(构造)的。从图我们还可以看到具有相同前缀的单词共用相同节点。

优点

字典树是一种简单实用的结构,利用后缀
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值