首先给出trie树的原理:trie树是以空间换取时间,利用字符串的公共前缀来降低查询开销。举个例子:add,addition,这两个单词,他们的公共前缀是add,应用trie数进行存储的时候,add只会被存储一次,如果以add为前缀的单词很多,这样就节省了很多的存储空间。
trie树的性质:
1,字符种数决定trie中branch的个数,以单词为例,共有26个英文单词,那么每个节点中会有26个指针域。
2,branch数组的下标代表字符相对于a的相对位置。
3,插入和查询的时间复杂度均与给定单词的长度len成正比,即为:o(len)。
4,每个节点附设一个count域,若count域被初始化为0,如果在插入所有单词之后,遍历trie树的时候,count不等于0,则表示从根节点到此节点的
trie树在单词频数统计中的应用与优化

trie树是一种以空间换时间的数据结构,用于降低字符串查询的开销。文章介绍了trie树的原理,如字符种数与branch数量的关系、插入与查询的时间复杂度,并通过一个例子展示了如何利用trie树统计单词出现的频数。作者指出,当前的实现存在遍历效率问题,当处理大量数据时可能导致时间浪费,因此提出了对数据结构优化的需求。
最低0.47元/天 解锁文章





