trie树也叫前缀树 , 是一种字符串的快速查找树 , 有就是一种树。
因为trie树 , 是一种树 ,因此我们先讨论树的存储。
树的存储:左儿子右兄弟
对于普通情况下的树 , 我们会采用儿子节点法 , 来存储 , 但在trie中 , 往往采用左儿子右兄弟的存储法 , 更为快速。
左儿子右兄弟就是说,在树中 , 每个结点有两个指针结点 , 一个指向其儿子 , 一个指向其兄弟。
一下的代码 , 我们是用数组来代替链表的 , 这样更方便。
代码:
#include <iostream>
#include <stdio.h>
using namespace std;
#define maxn 100
struct node
{
char y;
int next ; //儿子
int right; //兄弟
//void clear1() {next = -1 ; right = -1;}
}trie[maxn];
int next = 1