博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Implement Trie (Prefix Tree) 两种实现方法的比较
阅读量:5147 次
发布时间:2019-06-13

本文共 2096 字,大约阅读时间需要 6 分钟。

class TrieNode {      public TrieNode[] children = new TrieNode[26];      public String item = "";            // Initialize your data structure here.      public TrieNode() {      }  }    class Trie {      private TrieNode root;        public Trie() {          root = new TrieNode();      }        // Inserts a word into the trie.      public void insert(String word) {          TrieNode node = root;          for (char c : word.toCharArray()) {              if (node.children[c - 'a'] == null) {                  node.children[c - 'a'] = new TrieNode();              }              node = node.children[c - 'a'];          }          node.item = word;      }        // Returns if the word is in the trie.      public boolean search(String word) {          TrieNode node = root;          for (char c : word.toCharArray()) {              if (node.children[c - 'a'] == null) return false;              node = node.children[c - 'a'];          }          return node.item.equals(word);      }        // Returns if there is any word in the trie      // that starts with the given prefix.      public boolean startsWith(String prefix) {          TrieNode node = root;          for (char c : prefix.toCharArray()) {              if (node.children[c - 'a'] == null) return false;              node = node.children[c - 'a'];          }          return true;      }  }

 

class TrieNode {      // Initialize your data structure here.      char c;      boolean leaf;   //leaf属性是一个字符串的结尾标志    HashMap
children = new HashMap
(); public TrieNode(char c) { this.c = c; } public TrieNode(){}; } class Trie { private TrieNode root; public Trie() { root = new TrieNode(); } // Inserts a word into the trie. public void insert(String word) { Map
children = root.children; //用map构造了一个trie树 for(int i=0; i
children = root.children; TrieNode t = null; for(int i=0; i

转载于:https://www.cnblogs.com/Guoyutian/p/5136866.html

你可能感兴趣的文章
The folder is already a source folder
查看>>
App 组件化/模块化之路——Android 框架组件(Android Architecture Components)使用指南
查看>>
Java里的日期和时间学习
查看>>
securecrt 上传下载
查看>>
公共技术点之 Java 反射 Reflection
查看>>
DICOM:DICOM3.0网络通信协议
查看>>
免费好用的web应用托管平台-续
查看>>
分享:FIFO 同步、异步以及Verilog代码实现
查看>>
二分查找算法
查看>>
《构建之法》读书笔记2
查看>>
enum 枚举一般用法 dotnet
查看>>
SVM理解
查看>>
ReportServer Tutorial
查看>>
SQL-Server存储过程基础
查看>>
Rabbitmq集群高可用部署详细
查看>>
Mac搭建Java开发环境
查看>>
C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
查看>>
C++标准库简介(转)
查看>>
Linux从入门到精通——控制服务
查看>>
android图片下载问题
查看>>