关闭

字典树

标签: insertsearchnullstruct
236人阅读 评论(0) 收藏 举报
分类:

 

http://acm.zzuli.edu.cn/showproblem?problem_id=1615

#include<stdio.h>
#include<string.h>
#include<stdlib.h>


typedef struct stu{//创建树结点
 int num;
 struct stu *child[26];
}lode,*linklist;
linklist root;
 char str[15];

linklist Creat()//创建结点
{
 int i;
 linklist now;//
 now=(linklist)malloc(sizeof(lode));//开辟空间
 for(i=0;i<26;i++)//初始化
  now->child[i]=NULL;
 now->num=0;
 return now;
}
void insert()//建立树状
{
 int l,i;
 l=strlen(str);
 linklist cur;
 cur=root;
 for(i=0;i<l;i++)
 {
  if(cur->child[str[i]-'a']!=NULL)//如果存在计数加一,再向下寻找
  {
   cur->num=cur->num+1;// 
   cur=cur->child[str[i]-'a'];
   //cur->num=cur->num+1;   
  }
  else//如果没有就重新建立
  {
   linklist now;
            now=Creat();
   cur->num++;
   cur->child[str[i]-'a']=now;
      cur=now;
  }  
 }cur->num++;//
}
int search()//寻找
{
 int i,l;
 l=strlen(str);
 linklist cur;
 cur=root;
 for(i=0;i<l;i++)
 {
  if(cur->child[str[i]-'a']==NULL)//如果没有直接返回0
   return 0;
  cur=cur->child[str[i]-'a'];//有 就继续向下寻找
  
 }
 return cur->num;
}
int main()
{

 root=Creat();//root);
 while(gets(str)&&strcmp(str,"")!=0)
  insert();
 while(gets(str))
 printf("%d ",search());
 return 0;
}

 

0
0
查看评论

字典树 c++ 实现

字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。 典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串), 所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符 串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较, 查询效...
  • rongdongzhu1
  • rongdongzhu1
  • 2015-09-13 16:16
  • 1044

字典树数组实现

字典树是一种很实用也相对好理解的数据
  • u013588639
  • u013588639
  • 2014-08-06 21:04
  • 1558

01字典树 小结

为了做13年南京网络赛的一道题 学了这个01字典树 看了别人的模板 之后切了几道水题 现在总结一下01字典树的实现可以看成是把一个数的二进制字符化后插入到一颗一般的字典树中比如在01字典树种插入3时 相当于在字典树中插入00 …..00011(一共33为,这个根据具体实现不同)查找最大异或值...
  • SolarDomo
  • SolarDomo
  • 2016-08-10 10:15
  • 1280

字典树简介和简易应用

1、背景         词汇搜索、词频统计等字符串操作,是搜索引擎、文本处理系统等经常使用的业务,现在假设有这么一个简单的文本处理例子:有一篇10000个词的文章,要查出单词“was”在这篇文章中出现的次数。那么一般来说,没学过...
  • ly01kongjian
  • ly01kongjian
  • 2013-03-31 16:15
  • 4017

字典树模板(数组实现和指针实现)

字典树的指针实现:  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...
  • king_cannon_fodder
  • king_cannon_fodder
  • 2017-08-15 08:41
  • 284

[算法系列之二十]字典树(Trie)

又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。二 优点利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。三 性质(1)根节点不包含字符,除根...
  • SunnyYoona
  • SunnyYoona
  • 2015-02-21 22:26
  • 4098

字典树的题目 找了个时间刷了一点字典树的题目

http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Contest/contestproblem/cid/2009/pid/2828 #include #include #include #include #include using n...
  • qq_33435265
  • qq_33435265
  • 2017-04-26 09:24
  • 232

字典树(Trie树)用法及例子(一)

字典树(Trie)概述字典树,又名Trie树。顾名思义,在字典中很好用。我们在查牛津词典时都是先按第一个字母找到以这个字母为首的单词所在的初始位置,在此位置的基础上,再按照第二个字母继续找。。。 插一句,字符串的字典序也是这个意思,先按照第一个字母排序,第一个字母相同的情况下再按照第二个字母排序。...
  • u010902721
  • u010902721
  • 2015-05-15 20:53
  • 4263

空间优化的字典树

(同步个人博客 http://sxysxy.org/blogs/29 到csdn)字典树空间优化如果字典树要储存的字符串的字符集比较大,(比如全部的字符),甚至可能有多字节字符。这是我们给每个节点256个子节点吗? 用平衡树(或map <char, int>)牺牲时间来换取空间吗?不,可...
  • u013632138
  • u013632138
  • 2016-09-08 18:40
  • 242

字典树数组形式写法

第一题: Remember the Word Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit S...
  • DoJintian
  • DoJintian
  • 2015-08-05 17:04
  • 1061
    个人资料
    • 访问:592293次
    • 积分:8192
    • 等级:
    • 排名:第2958名
    • 原创:323篇
    • 转载:31篇
    • 译文:0篇
    • 评论:58条
    文章分类
    最新评论