import java.util.Map;
import java.util.Map.Entry;
public class TireTree {
Tree tree = new Tree();
String [] str ;
/**
*
* @param word
* @param map
*
* 字典树
*/
//添加
public void addWord(String word, Map<Character, Tree> map) {
if (word.length() != 0) {
char c = word.charAt(0);
if (map.get(c) != null) {
Tree rootTree = map.get(c);
addWord(word.substring(1), rootTree.myTree);
} else {
Tree t = new Tree();
t.name = c;
map.put(c, t);
addWord(word.substring(1), map.get(c).myTree);
}
}
}
//查找
public String search(String searchWord, Map<Character, Tree> map,
String words) {
if (searchWord.length() > 0) {
char c = searchWord.charAt(0);
if (map.get(c) != null) {
words += map.get(c).name;
return search(searchWord.substring(1), map.get(c).myTree, words);
}
else
return "未找到" ;
}
else {
return words;
}
}
public String search(String searchWord) {
return search(searchWord, tree.myTree, "");
}
public static void main(String[] args) {
TireTree tireTree = new TireTree();
tireTree.addWord("中华人民成立了", tireTree.tree.myTree);
tireTree.addWord("人民成立了", tireTree.tree.myTree);
tireTree.addWord("人民成立", tireTree.tree.myTree);
tireTree.addWord("成立", tireTree.tree.myTree);
tireTree.addWord("成立了", tireTree.tree.myTree);
tireTree.addWord("iphone5s", tireTree.tree.myTree);
tireTree.addWord("iphone6s", tireTree.tree.myTree);
System.out.println(tireTree.tree.myTree.size());
System.out.println(tireTree.search("中华人民"));
System.out.println(tireTree.search("人民"));
System.out.println(tireTree.search("成立"));
System.out.println(tireTree.search("iphone5se"));
}
}
云计算交流群 ---292870151 ,195907286 分布式搜索 ---- 445201983