HDU-1251-统计难题
来源:互联网 发布:app软件开发费用 编辑:程序博客网 时间:2024/04/28 03:07
HDU-1251-统计难题
http://acm.hdu.edu.cn/showproblem.php?pid=1251
基本的字典树,字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。
如上图所示,每一个红色节点都一个单词,白色节点表示公共前缀
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;struct node{int count;node *childs[26];node(){count=0;int i;for(i=0;i<26;i++)childs[i]=NULL;}};node *root=new node;node *current,*newnode;void insert(char *str){int i,m; current=root;for(i=0;i<strlen(str);i++){m=str[i]-'a';if(current->childs[m]!=NULL){current=current->childs[m];++(current->count);}else{newnode=new node;++(newnode->count);current->childs[m]=newnode;current=newnode;}}}int search(char *str){int i,m; current=root;for(i=0;i<strlen(str);i++){ m=str[i]-'a';if(current->childs[m]==NULL)return 0;current=current->childs[m];}return current->count;}int main(){char str[20];while(gets(str),strcmp(str,""))insert(str);while(gets(str)!=NULL)printf("%d\n",search(str));return 0;}
- HDU 1251 统计难题
- HDU 1251 统计难题
- hdu 1251 统计难题
- HDU 1251:统计难题
- HDU 1251 统计难题
- Hdu-1251 统计难题
- hdu 1251 统计难题
- hdu 1251 统计难题
- hdu 1251 统计难题
- HDU-1251-统计难题
- HDU 1251 统计难题
- hdu 1251统计难题
- hdu 1251统计难题
- hdu 1251 统计难题
- HDU 1251 统计难题
- hdu 1251统计难题
- HDU 1251 统计难题
- hdu 1251 统计难题
- MySQL分区(Partition)实例
- 电脑只能上qq不能打开网页
- 类静态成员
- 批量重命名
- Hibernate框架ORM的实现原理
- HDU-1251-统计难题
- 嵌入式C语言编程与AVR技巧(一)——C语言环境访问MCU寄存器
- 对于android九宫格布局的实现
- 防火防盗防五毛 Pinterest封杀部分链接
- 常见 BadImageFormatException 场景
- 同意签署云服务协议前需要问的10个问题
- 在敏捷项目中实施自动化测试之我见
- linux操作命令总结二()
- 让Windows7更安全 不得不知的帐户设置