字典树建立的一般方法
来源:互联网 发布:淘宝女生衣服店铺 编辑:程序博客网 时间:2024/05/16 16:58
字典树的一般方法:写着留着看...........不喜勿喷............
(1)建立起一个链表。
(1)建立起一个链表。
struct node { int count;/*数据域*/ struct node *next[26];/*指针域,26个只是表示小写英文字母,如果还要其他的字符则需要继续开大数组*/ };
(2)建立起头节点
struct node *root;
(3)新建节点,为字典树作准备
1.由于是新建,则需要开辟内存struct node *p=(struct node *)malloc(sizeof(struct node)); p->next[s[i]-'a']=NULL;
(4)建立字典树
1.由于已经新建好了节点,则不需要继续开辟内存。(继续很可能开会超内存,亲身体验)
2.开辟过就不需要开辟,这也是字典树的好处,利于计算前缀;
如果要计算前缀不要忘记将计数器初始化if(p->next[s[i]-'a']!=NULL) { p=p->next[s[i]-'a']; }3.如果没有开辟过,则利用节点连接,开辟空间
if(p->nest[s[i]-'a']==NULL) { p->next[s[i]-'a']=newset(); }
释放内存:
int dele(node* T){ int i; for(i=0;i<10;i++) { if(T->next[i]!=NULL) dele(T->next[i]); } delete T; return 0;}int del(node *t){ int i; if(t==NULL) return 0; for(i=0;i<10;i++) { if(t->next[i]!=NULL) { del(t->next[i]); } } free(t); return 0;}......... ................................完成.............................................
- 字典树建立的一般方法
- 字典树的建立、删除、查找
- 字典树的建立,插入,查找
- 建立数据仓库的一般步骤
- 建立sql数据字典的
- hdu--1075--(字典树一般)
- 裁剪的一般方法
- CGAffineTransform的一般方法
- 递归的一般方法
- 建立MYSQL客户机程序的一般过程
- 数据库建立索引的一般依据
- 数据库建立索引的一般依据
- 广义表的建立与一般操作
- 建立系统的字典表的意义
- 建立数据字典的一点总结
- 建立数据字典的一点总结
- 字典类表的建立和使用
- 字典树的多种实现方法
- Cannot assign requested address
- 窗口矩形坐标
- 如何用C#动态编译、执行代码
- LocalSocket / LocalServerSocket
- http://acm.nyist.net/JudgeOnline/problem.php?pid=420
- 字典树建立的一般方法
- hibernate查询中文参数乱码问题
- DB2 WINDOWS下内存报错解决方法
- object标签和embed标签
- Mysql安全措施
- SLF4J: Class path contains multiple SLF4J bindings 错误
- 图像处理中的颜色空间
- VC++ : CStatic控件的基本使用
- linux 等待队列