萌新做词典第一篇,做得不好,还请指正,谢谢大佬! 写了一个词典,用到了Trie字典树. 写这个词典的目的,一个是为了压缩一些数据,另一个是为了尝试搜索提示,就像在谷歌搜索的时候,打出某个关键字,会提示一串可能要搜索的东西. 首先放上最终的结果: input: 编程入门 编程软件 编程学习 编程学习网站 output: char : 件 word : 编程软件 char : 习 word : 编程学习 char : 网 word : 编程学习网 char : 门 word : 编程入门 其实这里不…
萌新做词典第二篇,做得不好,还请指正,谢谢大佬! 做好了插入与遍历功能之后,我发现最基本的查找功能没有实现,同时还希望能够把内存的数据存入文件保存下来,并可以从文件中导入词典.此外,数据的路径是存在配置文件中的.甚至,还想尝试类似自动补全的功能.当然了,是做一个比较low的补全,比如传入"编程",能够得到"软件"."学习"."学习网站"."入门"四个字符串.但是传入"编"不会得到&quo…
萌新做词典第三篇,做得不好,还请指正,谢谢大佬! 今天把词典的联想做好了,也是比较low的,还改了之前的查询.遍历等代码.  Orz 一样地先放上运行结果: test1 ID : char : 件 word : 编程软件 ID : char : 习 word : 编程学习 ID : char : 站 word : 编程学习网站 ID : char : 门 word : 编程入门 test2 ID : char : 练 word : 编程训练 ID : char : 门 word : 编程入门 I…
萌新做词典第一篇,做得不好,还请指正,谢谢大佬! 写了一个词典,用到了Trie字典树. 写这个词典的目的,一个是为了压缩一些数据,另一个是为了尝试搜索提示,就像在谷歌搜索的时候,打出某个关键字,会提示一串可能要搜索的东西. 首先放上最终的结果: input: 编程入门 编程软件 编程学习 编程学习网站 output: char : 件 word : 编程软件 char : 习 word : 编程学习 char : 网 word : 编程学习网 char : 门 word : 编程入门 其实这里不…
萌新做词典第二篇,做得不好,还请指正,谢谢大佬! 做好了插入与遍历功能之后,我发现最基本的查找功能没有实现,同时还希望能够把内存的数据存入文件保存下来,并可以从文件中导入词典.此外,数据的路径是存在配置文件中的.甚至,还想尝试类似自动补全的功能.当然了,是做一个比较low的补全,比如传入“编程”,能够得到”软件“.”学习“.”学习网站“.”入门“四个字符串.但是传入“编”不会得到“程”,因为“编程”没有录入词典.于是对原有的类进行了修改,并添加了一些函数. 先放上运行结果吧: test1 ID…
萌新做词典第三篇,做得不好,还请指正,谢谢大佬! 今天把词典的联想做好了,也是比较low的,还改了之前的查询.遍历等代码.  Orz 一样地先放上运行结果: test1 ID : char : 件 word : 编程软件 ID : char : 习 word : 编程学习 ID : char : 站 word : 编程学习网站 ID : char : 门 word : 编程入门 test2 ID : char : 练 word : 编程训练 ID : char : 门 word : 编程入门 I…
最近在建词典,使用Trie字典树,需要把字符串分解成单个字.由于传入的字符串中可能包含中文或者英文,它们的字节数并不相同.一开始天真地认为中文就是两个字节,于是很happy地直接判断当前位置的字符的ASCII码是否处于0~127之间,如果是就提取一个字符,否则提取两个.在测试分字效果的时候,这种方法出了问题.比如我传一个"abcde一二三四五"进去,abcde可以正常分解成 a b c d e,而后面的"一二三四五"则成了乱码. 于是我开启了谷歌之旅,搜索"…
Trie 字典树 ~~ 比 KMP 简单多了,无脑子选手学不会KMP,不会结论题~~ 自己懒得造图了OI WIKI 真棒 字典树大概长这么个亚子 呕吼真棒 就是将读进去的字符串根据当前的字符是什么和所处的位置构成一棵树 例如图中\(1-->2-->5\)这一条路就是字符串\(aa\)那\(1-->4-->8-->13\)就是字符串\(cab\) 貌似也没有什么东西的,题目的话基本就是套板子,唯一奇怪的就是把一个数二级化建树跑一些奇奇怪怪的东西 字符串: struct Trie…
Trie字典树 #include "stdio.h" #include "iostream" #include "malloc.h" #include "string.h" using namespace std; #define MAX_SIZE 26 typedef struct Trie{ char val; bool isword; struct Trie* child[MAX_SIZE]; }Node,*Trie_p…
1. 概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树. Trie一词来自retrieve,发音为/tri:/ “tree”,也有人读为/traɪ/ “try”. Trie树可以利用字符串的公共前缀来节约存储空间.如下图所示,该trie树用10个节点保存了6个字符串pool.prize.preview.prepare.produce.progress 在该trie树中,字符串preview,prepa…