所谓的前缀树:是一种树形结构,利用字符串的公共前缀来减少查询时间;最大限度地减少无所谓字符串的比较;
它有3个性质:根节点不包括字符;除根节点外每一个节点都只包含一个字符,从根节点到某一个节点,路径上经过的字符连接起来为该节点对应的字符串,每个节点的所有子节点包含的字符都不相同;
//实现一个前缀树,包含insert,search,startwith三个函数
分析:主要考察堆前缀树的理解;
例: Trie trie=new Trie();
trie.insert(“apple”);
trie.search(“apple”);//返回true;
trie.search(“app”);//返回false;
trie.startWith(“app”);
trie.insert(“app”);
class Trie{
class TrieNode{
TrieNode[] next;
private boolean isEnd;
public TrieNode(){
nex=new TrieNode[26];
isEnd