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

dw个人网站模板seo成功案例分析

dw个人网站模板,seo成功案例分析,浙江建设培训中心网站,做网站用新域名还是老域名文章目录 题目方法一:利用数组构建26叉树方法二:利用哈希表构建26叉树 题目 方法一:利用数组构建26叉树 插入图示: 全搜索和前缀搜索: 注意:全局匹配匹配完直接返回插入时的标志位 而前缀匹配时&#xff…

文章目录

    • 题目
    • 方法一:利用数组构建26叉树
    • 方法二:利用哈希表构建26叉树

题目

在这里插入图片描述

方法一:利用数组构建26叉树

插入图示:
在这里插入图片描述
全搜索和前缀搜索:
注意:全局匹配匹配完直接返回插入时的标志位
而前缀匹配时,匹配成功后直接返回true 因为不需要往下匹配了

匹配到空trie都统统直接返回false
在这里插入图片描述

// 方法一  : 利用数组存储孩子节点private Trie[] children ; //孩子数组  private boolean isWord ; //标志位public Trie() {//构造函数children = new Trie[26];// 初始化为大小为26的数组isWord = false;//标志位初始化为false}//插入操作public void insert(String word) {Trie root  = this;//给祖先节点赋空对象//此时 孩子数组为空  标志位默认falsefor(int i = 0 ; i<word.length() ; i++){//一个一个拆分字符串,将字符 - 'a' 转换为坐标char ch = word.charAt(i);int idx = ch - 'a';if(root.children[idx] == null){  //如果发现当前位置 为null  则是第一次插入,创建新的trieroot.children[idx] = new Trie();}root = root.children[idx]; //如果当前位置存在,那么将指针指向下一层}root.isWord = true;  //插入完成  标记为true}//全匹配操作public boolean search(String word) {Trie root  = this;//获得当前对象for(int i = 0 ; i<word.length() ; i++){//一个一个拆分字符串,将字符 - 'a' 转换为坐标char ch = word.charAt(i);int idx = ch - 'a';if(root.children[idx] == null){  //如果发现当前位置 为null  说明搜索不到  直接return faslereturn false;}root = root.children[idx]; //如果当前位置存在,那么将指针指向下一层继续搜索}return root.isWord;//如果能搜索到 则直接就是返回本来的状态值}// 前缀匹配public boolean startsWith(String prefix) {Trie root  = this;//获得当前对象for(int i = 0 ; i<prefix.length() ; i++){//一个一个拆分字符串,将字符 - 'a' 转换为坐标`在这里插入代码片`char ch = prefix.charAt(i);int idx = ch - 'a';if(root.children[idx] == null){  //如果发现当前位置 为null  说明搜索不到  直接return faslereturn false;}root = root.children[idx]; //如果当前位置存在,那么将指针指向下一层继续搜索}return true;//如果能搜索到 则直接就是返回true}

方法二:利用哈希表构建26叉树

相比较上面的用数组构建26叉树,其实也可以采用哈希表存储子节点

在这里插入图片描述

方法二  : 利用hashmap存储孩子节点private Map<Character,Trie> children ; //孩子哈希表  key 为父节点  value为子trie节点  private boolean isWord ; //标志位public Trie() {//构造函数children = new HashMap<>();// 初始化哈希表isWord = false;//标志位初始化为false}//插入操作public void insert(String word) {Trie root  = this;//给祖先节点赋空对象for(int i = 0 ; i<word.length() ; i++){//一个一个拆分字符串,将字符 - 'a' 转换为坐标char ch = word.charAt(i);Trie node = root.children.get(ch);if(node == null){  //如果发现当前位置 为null  则是第一次插入,创建新的trieroot.children.put(ch,new Trie());}root = root.children.get(ch); //如果当前位置存在,那么将指针指向下一层}root.isWord = true;  //插入完成  标记为true}//全匹配操作public boolean search(String word) {Trie root  = this;//获得当前对象for(int i = 0 ; i<word.length() ; i++){//一个一个拆分字符串,将字符 - 'a' 转换为坐标char ch = word.charAt(i);Trie node = root.children.get(ch);if(node == null){  //如果发现当前位置 为null  说明搜索不到  直接return faslereturn false;}root = root.children.get(ch); //如果当前位置存在,那么将指针指向下一层继续搜索}return root.isWord;//如果能搜索到 则直接就是返回本来的状态值}// 前缀匹配public boolean startsWith(String prefix) {Trie root  = this;//获得当前对象for(int i = 0 ; i<prefix.length() ; i++){//一个一个拆分字符串,将字符 - 'a' 转换为坐标char ch = prefix.charAt(i);Trie node = root.children.get(ch);if(node == null){  //如果发现当前位置 为null  说明搜索不到  直接return faslereturn false;}root = root.children.get(ch); //如果当前位置存在,那么将指针指向下一层继续搜索}return true;//如果能搜索到 则直接就是返回true}

参考:Leetcode 208 实现Trie(前缀树)

http://www.mmbaike.com/news/84958.html

相关文章:

  • 网站建设电话营销江西优化中心
  • 青岛网站建设eoe谷歌浏览器下载官方正版
  • 网站收录原创文章除了91还有什么关键词
  • 适合网站开发工程师的公司合肥搜索引擎优化
  • 做个网站应该怎么做做免费推广的平台
  • 安徽省建设厅官方网站不用流量的地图导航软件
  • 网站搭建php源码如何网站推广
  • 如果是自已建设的网站_那你在数据库想改成什么时间都可以.手机seo排名软件
  • 无锡建行网站百分百营销软件
  • 广西网站建设liluokj网络舆情应急预案
  • 备案 网站负责人求购买链接
  • 怎样在网站做视频链接网站优化企业排名
  • 白天做彩票维护的网站国家卫生健康委
  • 网站开发学什么专业网站seo站群软件
  • wordpress收录提高seo是对网站进行什么优化
  • 龙岩天宫山旅游攻略广告优化师
  • 寻甸马铃薯建设网站怎么找需要推广的商家
  • 正在建设中的网站可算违规免费注册二级域名的网站
  • word网页 WordPress东莞网站seo优化
  • 如何做视频网站的会员代理百度移动端点赞排名软件
  • 可以做淘宝联盟的免费网站电子商务主要学什么内容
  • 建立企业网站的好处世界杯排名
  • 服务平台的宗旨优化营商环境 助推高质量发展
  • 做一下网站需要什么网页设计费用报价
  • 公司网站没做301怎么做301电商运营主要工作内容
  • 贵阳哪里可以做网站汕头seo推广优化
  • 免费响应式网站搜索引擎大全入口
  • 微信做单子的网站源码网站优化的方法有哪些
  • 黄岛做网站优化外包服务公司
  • ppt成品免费下载网站的seo