基本概念
Trie,字典树,又称单词查找树、前缀树,是一种哈希树的变种。应用于字符串的统计与排序,经常被搜索引擎系统用于文本词频统计。
(后续再补充)
参见:http://www.cnblogs.com/dlutxm/archive/2011/10/26/2225660.html
http://blog.csdn.net/pyang1989/article/details/22834653
1. 统计一组字符串中某前缀出现的次数。
#include<iostream>
using namespace std;
#define MAX 26
typedef struct node
{
struct node *next[MAX];
int num;//该结点出现的次数
}Node;
Node *CreateNew()//创建结点!
{
Node *p = new node;
for (int i = 0; i<MAX; i++)
{
p->next[i] = NULL;
}
p->num = 0;
return p;
}
void insert_str(char str[], Node *head)
{
int len = strlen(str);
Node *t, *p = head;
for (int i = 0; i<len; i++)
{
int c = str[i] - 'a';
if (p->next[c] == NULL)
{
t = CreateNew();
p->next[c] = t;
p->next[c]->num++;
p = p->next[c];
}
else
{
p = p->next[c];
p->num++;
}
}
}
int