字符串算法之字典树
来源:互联网 发布:mac高光修容液 编辑:程序博客网 时间:2024/06/03 18:58
目标算法:字典树
应用范围:统计拥有相同前缀的字符串
#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>using namespace std;typedef struct Trie{ int cnt; Trie *next[26];}Trie;Trie root;void createTrie(char *str){ int len = strlen(str); Trie *p = &root; Trie *q; for(int i=0;i<len;i++) { int id = str[i] - 'a'; if(p -> next[id] == NULL) { q = (Trie *)malloc(sizeof(root)); q -> cnt = 1; for(int j=0;j<26;j++) { q -> next[j] = NULL; } p -> next[id] = q; p = p -> next[id]; } else { p -> next[id] -> cnt++; p = p -> next[id]; } }}int findTrie(char *str){ int len = strlen(str); Trie *p = &root; for(int i=0;i<len;i++) { int id = str[i] - 'a'; p = p -> next[id]; if(p == NULL) { return 0; } } return p->cnt;}int main(){ char str[15]; for(int i=0;i<26;i++) { root.next[i] = NULL; } while(gets(str) && str[0] != '\0') { createTrie(str); } memset(str,0,sizeof(str)); while(~scanf("%s",str)) { int ans = findTrie(str); printf("%d\n",ans); }}
0 0
- 字符串算法之字典树
- 字符串 之字典树 算法
- 字符串匹配算法之二------Trie字典树
- 算法之字典树
- 字符串算法——字典树
- 字符串、字典匹配算法
- Swift 算法实战之路:数组,字符串,集合,与字典
- 白话算法与数据结构之【字典树】
- Google字符串模糊匹配算法,字典树模糊查询
- Google字符串模糊匹配算法,字典树模糊查询
- Google字符串模糊匹配算法,字典树模糊查询
- python 基础教程之字符串字典
- ACM-字符串-字典树
- 字典树-字符串处理
- 字典树算法
- 字典树Trie算法
- Trie字典树算法
- 字典树算法
- google chrome 开发者工具选项(三)
- Codeforces Round #352 (Div. 2)(B)思维
- android定时器
- 手动显示光标及软键盘
- 已知每个部门有一个经理,统计输出部门名称、部门总人数、 总工资和部门经理。
- 字符串算法之字典树
- c++实现快速排序
- 第14周阅读程序1(2)
- linux下redis 安装及遇到的问题解决
- 反转整数
- 泛型编程简化findViewById
- java.util.List的remove()方法使用技巧
- Swift-guard & defer
- A+B Problem (64bit Integer + EOF)