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

个人网站名字取名怎么做源码做网站

个人网站名字取名怎么做,源码做网站,企业网站的开发,网站技术方案怎么写强烈建议看书上的实现步骤#xff0c;这里只是一个个人记录。单词查找树的性能#xff1a;查找命中所需的时间与被查找的键的长度成正比。比如单词有7个字符#xff0c;查找或插入操作最多只需要检查8个节点。查找未命中只需检查若干个字符。所需空间#xff1a;在RN~RNw之…强烈建议看书上的实现步骤这里只是一个个人记录。单词查找树的性能查找命中所需的时间与被查找的键的长度成正比。比如单词有7个字符查找或插入操作最多只需要检查8个节点。查找未命中只需检查若干个字符。所需空间在RN~RNw之间其中R为字母表大小N为键的个数w为平均单词长度。import java.util.LinkedList;import java.util.Queue;/*** author yuan* date 2019/2/21* description 单词查找树参考算法第4版*/public class TrieST {/*** 基数*/private static int R 256;/*** 根节点*/private Node root;private static class Node{private Object val;private Node[] next new Node[R];}public Value get(String key) {Node x get(root, key, 0);if (x null) {return null;}return (Value) x.val;}/*** 返回以x作为根节点的子单词查找树中与key相关联的值* param x* param key* param d 当前的遍历深度* return*/private Node get(Node x, String key, int d) {if (x null) {return null;}if (d key.length()) {return x;}char c key.charAt(d);return get(x.next[c], key, d 1);}public void put(String key,Value val) {root put(root, key, val, 0);}/*** 如果key存在以x为根节点的子单词查找树中则更新与它相关联的值* param x* param key* param val* param d* return*/private Node put(Node x, String key, Value val, int d) {if (x null) {x new Node();}if (d key.length()) {x.val val;return x;}// 找到第d个字符所对应的子单词查找树char c key.charAt(d);x.next[c] put(x.next[c], key, val, d 1);return x;}/*** 查找所有的键* return*/public Iterable keys(){return keysWithPrefix();}/*** 匹配以pre为前缀的键* param pre* return*/private Iterable keysWithPrefix(String pre) {Queue q new LinkedList();collect(get(root, pre, 0), pre, q);return q;}private void collect(Node x, String pre, Queue q) {if (x null) {return;}if (x.val ! null) {q.offer(pre);}for (char c 0; c R; c) {collect(x.next[c], pre c, q);}}/*** 匹配含通配符的键(.能匹配所有字符)* param pat* return*/public Iterable keysThatMatch(String pat) {Queue q new LinkedList();collect(root, , pat, q);return q;}private void collect(Node x, String pre, String pat, Queue q) {int d pre.length();if (x null) {return;}if (d pat.length() x.val ! null) {q.offer(pre);}if (d pat.length()) {return;}char next pat.charAt(d);for (char c 0; c R; c) {if (next . || next c) {collect(x.next[c], pre c, pat, q);}}}/*** 查找s中的最长的键** param s* return*/public String longestPrefixOf(String s) {int length search(root, s, 0, 0);return s.substring(0, length);}private int search(Node x, String s, int d, int length) {if (x null) {return length;}// 当前节点非空更新lengthif (x.val ! null) {length d;}// 已经遍历到s的末尾返回if (d s.length()) {return length;}char c s.charAt(d);return search(x.next[c], s, d 1, length);}/*** 删除操作* param key*/public void delete(String key) {root delete(root, key, 0);}private Node delete(Node x, String key, int d) {if (x null) {return null;}if (d key.length()) {x.val null;} else {char c key.charAt(d);x.next[c] delete(x.next[c], key, d 1);}if (x.val ! null) {return x;}for (char c 0; c R; c) {if (x.next[c] ! null) {return x;}}return null;}public static void main(String[] args) {TrieST trieST new TrieST();trieST.put(abc, 3);trieST.put(acc, 1);trieST.put(bb, 1);System.out.println(trieST.get(abc)); // 3System.out.println();Iterable iterable trieST.keysThatMatch(a.c);iterable.forEach(i - System.out.println(i)); // abc accSystem.out.println();trieST.delete(abc);System.out.println(trieST.get(abc)); // null}}
http://www.pierceye.com/news/53160/

相关文章:

  • 网站生成系统源码wordpress 函数手册
  • 滁州建设网站如何做企业微信
  • 网站架构是什么登封seo公司
  • 苏州网站建设品牌博客网站入口
  • 网站怎么做交易市场中国建设银行网站企业网银
  • 建设通网站是免费的吗上海医院网站建设
  • 论基层门户网站的建设网站建设人力调配范文
  • 保养车哪个网站做的好it培训机构推荐
  • 做网站的点子网站被k什么意思
  • 基于wordpress的英文小游戏站新闻采编与制作专业简历
  • 陕西网站建设优化建站app开发哪家公司好
  • 杭州竞彩网站开发公司怎么与网站进行活动推广
  • 深圳官网网站建设百度网站怎么提升排名
  • 湖南企业做网站阿旗建设局举报网站
  • 网站360全景图怎么做义乌网站建设yw126
  • 网站建设财务分析东莞横沥地图
  • 备案的域名拿来做别的网站网站空间服务商查询
  • idc 公司网站模板中国目前最好的搜索引擎
  • 博罗网站设计wordpress文章视频
  • 泰安市住房和城乡建设部网站我帮你建站
  • 影视网站设计论文重庆永川网站建设报价
  • 怎么把网站封包做app安新网站建设
  • 网站建设从哪几个情况去判设计理念网站
  • 文化传媒网站建设网上那些彩票网站可以自己做吗
  • 包头网站建设多少钱重庆最新通告
  • 水墨风格网站欣赏相册管理网站模板
  • 毕业设计网站做几个上市企业网站建设
  • 服务器怎么装网站吗网站界面(UI)设计
  • 如何编程制作自己的网站免费下载京东购物
  • 晋城网站开发APP客户端网站建设