首页 > 代码库 > hiho 第二周
hiho 第二周
Trie树,第一次写,简单的建树+搜索
它的思路hiho上讲得很清楚,good~
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 char word[11]; 5 int n,m; 6 struct trie 7 { 8 int num; 9 trie *next[26];10 trie()11 {12 num = 0;13 for(int i = 0; i < 26; i++)14 next[i] = 0;15 }16 }t;17 trie *p;18 void setup(char w[])19 {20 p = &t;21 for(int i = 0; word[i]; i++)22 {23 int pos = word[i] - ‘a‘;24 if(p->next[pos] == 0)25 {26 trie *q;27 q = new trie();28 p->next[pos] = q;29 }30 p = p->next[pos];31 p->num++;32 }33 }34 35 int findnum(char word[])36 {37 p = &t;38 for(int i = 0; word[i];i++)39 {40 int pos = word[i] - ‘a‘;41 if(p->next[pos] == 0) return 0;42 p = p->next[pos];43 }44 return p->num;45 }46 47 int main()48 {49 cin>>n;50 while(n--)51 {52 cin>>word;53 setup(word);54 }55 cin>>m;56 while(m--)57 {58 cin>>word;59 cout<<findnum(word)<<endl;60 }61 return 0;62 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。