`
isiqi
  • 浏览: 16880992 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

字典树--模板

 
阅读更多
<<字典树模板>>


#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
//字典树的数据结构
struct Trie{
    Trie *child[26];//这里数组的大小看是小写字母还是数字还是都有
    int num;
    Trie(){//初始化
        num = 0;
        memset(child , 0 , sizeof(child));
    }
};
Trie *root;
//字典树的构建
void Tree_Insert(char *str){
    Trie *s = root;
    int i = 0;
    while(str[i]){
        int id = str[i] -'a' ;
        if(s -> child[id] == 0)//如果该字节点的字节点为空则要创建中间节点
            s -> child[id] = new Trie();
        s = s -> child[id];

        s -> num++;

        i++;
    }  
}
//字典树的查找
int Tree_Find(char *str){
    Trie *s = root;
    int count ;
    while(str[i]){
        int id = str[i] - 'a';
        if(s -> child[id] == 0){//如果当前指针s的对应于当前字符str[i]在字母表的位置的子节点为空
            return count;//直接返回0
        }
        else{
            s = s -> child[id];
            count = s -> num ;

        }

        i++;
    }
    return count;
}
int main(){
   int i , j;
   //建立一个root分配空间

   root = new Trie();

  
   return 0;
}
    
    



分享到:
评论

相关推荐

    字典树实例--java实现

    在IT领域,字典树(Trie,也称为前缀树或字典树)是一种用于存储动态集合或关联数组的数据结构。它允许我们快速查找、插入和删除字符串,特别是对于有公共前缀的字符串,效率非常高。这个实例是用Java语言实现的,...

    ACM Trie树 模板 字典树

    ACM Trie树 模板,字典树模板,数据结构

    acm 算法 字典树模板

    ACM 算法字典树模板 在算法竞赛中,字典树(Trie)是一种常用的数据结构,用于解决字符串匹配问题。下面是字典树的基本概念和实现细节。 字典树的基本概念 字典树是一种树形数据结构,用于存储字符串集合。它的每...

    字典树~java语言

    在IT领域,字典树(Trie,也称为前缀树或字首树)是一种用于存储动态集合或关联数组的数据结构。它以高效的方式处理字符串查询,尤其适用于查找具有共同前缀的单词。字典树的主要优点是它可以快速地通过共享前缀来...

    世树wtrees-applet小程序模板,云开发,国风化,快速部署-字典树

    wtrees-applet小程序模板以国风化的设计理念和高效的云开发模式,结合字典树这一数据结构技术,为开发者提供了一个功能完备、文化气息浓厚的小程序开发平台。开发者可以利用模板中的文件结构和配置,快速搭建起一个...

    字典树模板acm竞赛可用

    "字典树模板acm竞赛可用" 字典树(Trie树)是一种典型的将时间置换为空间的算法,它的原理是利用字符串集合中字符串的公共前缀来降低时间开销以达到提高效率的目的。它具有以下性质: 1. 根结点不包含任何字符信息...

    算法面试通关40讲完整课件 37-39 字典树

    字典树,又称为前缀树或Trie树,是一种数据结构,主要用于高效地存储和检索字符串。在面试中,掌握字典树的概念、构造以及应用对于求职者来说至关重要,尤其是对于那些涉及到大量字符串处理的职位,如搜索引擎开发...

    Acm常用算法学习模板-1

    文件包括以下子文件,每个文件里面包括了一定数量的ppt,doc,c++模板代码,希望对算法的入门的学习者有用。...10-字典树 11-二分图 12-网络流 13-高精度 14-几何 15-自动机 16-DP_01背包 16-DP_树状dp 16-贪心 17-数论

    ACM模板-浙大模板浙大模板

    ### ACM模板——浙大模板概览 本篇文档主要介绍了浙江大学计算机编程竞赛团队(ICPC)常用的一些算法和数据结构实现方法。这份资料由WishingBone于2002年12月创建,并由Riveri在2004年11月进行了更新。下面将根据...

    常用算法模板_C++.zip

    常用算法模板_C++.zip AC自动机,Dijkstra,Floyd,GCD,KMP,KMP扩展,Kruskal,LCM,LCS,LIS,Prim,...全排列,染色-二分图,树状数组,线段树-点更新,线段树-区间更新,向量,匈牙利算法,中国剩余定理,字典树

    acm-icpc模板

    字典树也称为 Trie 树,是一种树形结构,用于高效存储和检索字符串。 ##### Splay Splay 树是一种自平衡的二叉查找树,它的操作性能平均情况下较好,适合频繁访问某些节点的应用场景。 ##### ST 表 & 分块树 ST 表...

    WPF 已知问题 资源字典树引用与资源寻找的坑.rar

    这个压缩包“WPF 已知问题 资源字典树引用与资源寻找的坑.rar”包含了一个MD文件,很可能是详细的案例分析和解决方案,旨在帮助开发者避免这些常见问题。 在WPF中,资源字典可以存在于多个层次,如应用程序级别、...

    excel树形字典,导入数据库

    "Excel树形字典,导入数据库"这个主题就聚焦于如何将结构化的Excel数据,特别是树形结构的数据,有效地整合到数据库系统中。 首先,我们需要理解什么是"树形字典"。在Excel中,树形字典通常指的是通过表格形式表示...

    蓝桥杯个人赛的一些常考的(C++)算法模板

    - **树结构**:如二叉树、平衡树(AVL、红黑树等)和 Trie 字典树。 - **哈希表**:快速查找和插入数据,C++中可以使用`std::unordered_map`和`std::unordered_set`。 在蓝桥杯比赛中,熟悉并熟练运用这些算法...

    算法模板.pdf

    - 字典树(Trie):一种用于快速检索字符串数据集中的键的技术。 - AC自动机:一种用于多模式匹配的字符串搜索算法。 6. 线段树 - 线段树是一种可用于存储区间或线段的树形数据结构,支持快速查询。 - 点更新:线段...

    各种算法模板

    本资源“各种算法模板”聚焦于两种常见的数据结构和算法:字典树(Trie)和后缀数组(Suffix Array),这些都是在解决编程竞赛如POJ(Programming Online Judge)时经常遇到的工具。 **字典树**,又称为前缀树或...

    acm 算法模板 适合初学者使用

    - 字典树是一种用于高效存储和检索字符串数据的数据结构。 - 主要应用:词频统计、拼写检查等。 - **实现细节**: - 使用结构体定义节点,包括: - `int next[MAX_BRANCH]`:记录分支位置。 - `int c[MAX_BRANCH]...

    ACM_算法模板程序设计协会ACM算法模板集.docxACM_算法模板程序设计协会ACM算法模板集ACM训练ACM集训算法入门参

    字典树 - **应用场景**:高效存储和检索字符串。 - **实现方式**:一种特殊的多叉树结构。 #### 3. 后缀树 - **应用场景**:高效查找字符串中的重复子串。 - **实现方式**:一种特殊的树结构,用于存储字符串的...

    NOIP模板1.zip

    4. **Trie字典树.cpp**:Trie(字典树或前缀树)是一种用于存储动态集合或关联数组的数据结构,尤其适合于查找具有公共前缀的字符串。这个模板可能包含了插入、删除和查找操作的实现。 5. **拓扑排序.cpp**:拓扑...

Global site tag (gtag.js) - Google Analytics