其他分享
首页 > 其他分享> > 字典树

字典树

作者:互联网

在字典中我们可以查找字,字典树可以用来查找单词。
优点:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。

Trie树

//ES6
class Trie {
    constructor() {
        this.root = {};
    }

    insert(word) {
        let node = this.root;
        for (const ch of word) {
            if (!node[ch]) {
                node[ch] = {};
            }
            node = node[ch];
        }
        node.isEnd = true;//单词结束标记
    }

    searchPrefix(prefix) {
        let node = this.root;
        console.log("prefix:");
        for (const ch of prefix) {
            if (!node[ch]) {
                return false;
            }
			node = node[ch];//子节点
        }
        return node;
    }

    search(word) {
        let node = this.searchPrefix(word);
        if (node && node.isEnd) return true;
        return false;
    }
}

标签:node,map,ch,isEnd,单词,节点,字典
来源: https://www.cnblogs.com/honey-cat/p/14657278.html