数据结构——Trie树(字典树)

本文介绍了字典树(Trie树)的概念,通过问题引入和解法探讨,详细阐述了字典树的基本操作,包括更新(update)和查找(find),并提供了相关代码实现。此外,还对字典树的节点编号方式和存储方式进行了解析,并讨论了增加节点深度信息的处理策略。最后给出了两个相关的模板题目。
摘要由CSDN通过智能技术生成

目录

一、什么是字典树

问题引入: 

解法

1.暴力

2.奇奇怪怪的解法

二、字典树

1.思路

2.基本操作

(1)更新 update

(2)查找 find

3.思考

三、模板题


一、什么是字典树

问题引入: 

有n个字符串,每个字符串都由26个小写英文字母构成,现在请求出这些字符串的最长前缀

输入样例:

3

exit

apple

exford

输出样例:

2

样例输出解释:

最长公共前缀为ex,长度为2

注:若无相同前缀,则输出0

 

请自行思考10min,思考很重要

//************************************************思考线

 

 

解法

1.暴力

强行匹配每一个,只要有一个不相同就输出0,否则就不断更新最短前缀

我的解法是每次取相邻两个字符串,取得前缀长度,与下一次比较,取最小值,然后继续

做(n-1)次

 

2.奇奇怪怪的解法

这个解法是我在考场想出来的,很奇怪!

首先给这些字符串以字典序排序(大小无所谓)

然后可以给这些字符串纵向分层,相

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值