美文网首页
hihoCoder#1014:Trie树

hihoCoder#1014:Trie树

作者: wshxj123 | 来源:发表于2017-07-27 18:13 被阅读71次

建立Trie树,输出前缀单词个数。

#include <iostream>
#include <vector>
using namespace std;

struct node {
    char value;
    int times;
    node* sons[26];
    node(char a) {
        value = a;
        times = 1;
        for(int i = 0; i < 26; i++)
            sons[i] = NULL;
    }
};

node* root;

void insert_words(string s) {
    node* now = root;
    for(int i = 0; i < s.size() ;i++) {
        node* t = now->sons[s[i] - 'a'];
        if(t != NULL) {
            t->times++;
            now = t;
        }
        else {
            t = new node(s[i]);
            now->sons[s[i] - 'a'] = t;
            now = t;
        }
    }
}

int query_times(string s) {
    node* now = root;
    for(int i = 0; i < s.size() ;i++) {
        node* t = now->sons[s[i] - 'a'];
        if(t != NULL) {
            now = t;
        }
        else
            return 0;
    }
    return now->times;
}

int main()
{
    int n, m;
    string inputstr;
    cin >> n;
    root = new node('0');

    for(int i = 0; i < n; i++) {
        cin >> inputstr;
        insert_words(inputstr);
    }

    cin >> m;
    for(int i = 0; i < m; i++) {
        cin >> inputstr;
        cout << query_times(inputstr) <<endl;
    }

    return 0;
}

相关文章

  • hihoCoder#1014:Trie树

    建立Trie树,输出前缀单词个数。

  • trie树

    文章内容来自 Trie树:应用于统计和排序Trie树 trie树又称:字典树、单词查找树、前缀树等,总之是一种树状...

  • 树结构之Trie

    1. 什么是trie树 1.Trie树 (特例结构树)Trie树,又称单词查找树、字典树,是一种树形结构,是一种哈...

  • 实现 Trie

    数据结构之Trie树Trie树:应用于统计和排序

  • Trie树

    一、定义 Trie树,又称为单词查找树,是一种树形结构(Trie一词源于单词Retrieval-取出)。Trie树...

  • leetcode——字典树(Trie树)的实现

    leetcode——实现Trie(前缀树) 题目 实现一个 Trie (前缀树),包含 insert, searc...

  • 算法笔记 - Trie 树

    Trie树是一种非常常见的算法 Trie树的主要用途是快速地匹配字符串 Tire树可以记录数值 Trie树的实现成...

  • 以太坊详解 之 Merkle Patricia Tree

    基础知识 Trie树 Trie是一种搜索树,又称字典树(digital tree)和前缀树(prefix tree...

  • 数据结构与算法笔记day21:Trie树|AC自动机

    1Trie树 这节课学习了一种特殊的树,Trie树。Trie树是一种解决字符串快速匹配问题的数据结构。如果用来...

  • Leetcode 208 实现 Trie (前缀树)

    实现 Trie (前缀树) 题目 实现一个 Trie (前缀树),包含 insert, search, 和 sta...

网友评论

      本文标题:hihoCoder#1014:Trie树

      本文链接:https://www.haomeiwen.com/subject/occtlxtx.html