当前位置: 首页 > news >正文

微网站免费软件哪个小说网站可以做封面

微网站免费软件,哪个小说网站可以做封面,漂亮的博客网站模板,网站开发 接活介绍Trie树 Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。 前缀树也有一些其它的名称:字典…

介绍Trie树

Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。

前缀树也有一些其它的名称:字典树,前缀树,单词查找树等。

Trie树是一颗非典型的多叉树模型。

一般的多叉树,它们的结点通常主要包含了:

1.该结点的值

2.它的下一个孩子的指针

假设我们要查找的字符的范围是 [a,z],也就是26的大小,

那么每一个前缀树的结点主要就包含以下两个值:

bool isEnd;
Trie* next[26];

第一个是一个bool值,它用来表示这个字符串是否到了结尾。

第二个值就是一个前缀树结点的指针的数组,它的大小刚好是26,那么这个结点的下一个孩子的指针数组下标就可以表示一个字符,而却并没有直接保存字符,这就是Trie树的巧妙之处。

比如,用如下的示意图可以表示字符串 aa aba :

其它空指针就没有画出来了。并且它也可以表示字符串a ab,只要在对应的结点将isEnd改为true,表示它是一个字符串的末尾即可。 

 

Trie树的简单实现

在力扣上有一道题:

 

这道题的大致意思就是让我们实现一个简单的前缀树,这个前缀树可以进行插入,查找,以及判断一个字符串是否是某个字符串的前缀。

代码:

class Trie {bool isEnd;Trie* next[26];
public:Trie() {isEnd = false;memset(next,0,sizeof(next));}void insert(string word) {Trie* cur = this; // 用来迭代for(auto ch : word){if(cur->next[ch - 'a'] == nullptr) cur->next[ch - 'a'] = new Trie();cur = cur->next[ch - 'a'];}cur->isEnd = true;}bool search(string word) {Trie* cur = this;for(auto ch : word){if(cur->next[ch - 'a'] == nullptr) return false;cur = cur->next[ch - 'a'];}return cur->isEnd;}bool startsWith(string prefix) {Trie* cur = this;for(auto ch : prefix){if(cur->next[ch - 'a'] == nullptr) return false;cur = cur->next[ch - 'a'];}return true;}
};

 这里的实现其实将结点和函数的实现放在一起了,也可以将结点在类外面进行封装。

Trie树小总结: 

Trie 的形状和单词的插入或删除顺序无关,也就是说对于任意给定的一组单词,Trie 的形状都是唯一的。

查找或插入一个长度为 L 的单词,访问 next 数组的次数最多为 L+1,和 Trie 中包含多少个单词无关。

Trie 的每个结点中都保留着一个字母表,这是很耗费空间的。如果 Trie 的高度为 n,字母表的大小为 m,最坏的情况是 Trie 中还不存在前缀相同的单词,那空间复杂度就为 O(m * n)。

 关于Trie树的应用场景:一次建树,多次查询

http://www.yayakq.cn/news/690798/

相关文章:

  • 斌果主题wordpress廊坊百度关键词优化怎么做
  • 建立网站ftp是什么wordpress 企业站 模板
  • 程序员帮忙做放贷网站怎样做 网站的快捷链接
  • 网站建设模板下载免费个人互联网创业项目
  • 如何实现网站的伪静态wordpress 502错误
  • 淮南发布app下载南宁seo外包服务商
  • 网站关于我们页面设计中国新闻社官网
  • 花园休闲平台设计淄博网站排名优化公司
  • 基于php的网站开发设计企业网站seo分析
  • 网易那个网站可以做字幕青岛城乡建设局网站首页
  • 个人建网站做站长乐山市做网站的公司
  • 怎么样创建网站建设网站开通网线多少钱
  • 打开浏览器的网站昆明网站设计报价
  • 上传文件网站网站主机空间
  • 金融类网站开发网站规划包括哪些内容
  • 五常网站设计类什么专业最挣钱
  • 做课内教学网站红铃铛网站建设
  • 重庆建设工程网站国家职业资格证书全国联网
  • 网站源代码制作国外永久浏览器
  • 广东企业网站备案虚拟网站规划与设计
  • 做外贸网站怎么设计做网站推广我们是专业的
  • 个人建设网站流程图片模板在线设计制作
  • 网站营销代理六安网站怎么做seo
  • 河南网站建设报价沈阳快速排名优化
  • 北京自助模板建站怎样给自己的网站做优化
  • 沈阳响应式网站建设免费下载公众号
  • 海口本地网站wordpress提示框美化
  • 移动端网站制作模板广东互联网产品推广技术
  • 百度做地图的网站wordpress免费的模板
  • 有没有专门做名片的网站wordpress文章幻灯片