
C++
优雅的发际线
这个作者很懒,什么都没留下…
展开
-
数据结构-C++实现
之前的2周一直在学数据结构,头都大了。我是之前对数据结构一点认识都没有,我是直接看书怼的,我看的是《大话数据结构》,前面的讲解还不错,到了树、图后,就有点看不懂了,因为直接讲的代码,我想一般人类都不可能看得懂,尤其是KMP算法那,简直是天书,我最后还是看别人的博客才勉强参透,但无论如何,大话数据结构的确为我开启了新世界的大门,我也受益良多。在这个过程,我将基本所有的数据结构、算法都用C++实现了,有时候后面写代码的时候,直接用前面写的链表、队列等这里附上我的Github项目地址:https://gith原创 2020-12-05 14:22:51 · 648 阅读 · 2 评论 -
KMP算法--计算Next数组
* next[n]代表字符串前n个字符组成的子串的长度相同且相等的最长前后缀串的长度* 就比如 "abab"中前缀(以首字符开头不包括尾字符的子串)有: "a"、"ab","aba"; 后缀(概念相反):"b","ab","bab"* 那么"abab"中很明显长度相同且相等的最长前后缀串是 "ab", 那么 next[4] = 2** 最简单求字符串的最长相等前后缀的方法: 从 index = len(str) - 1(先看看最长串是否一样)开始,* 比较str[0]~str[inde.原创 2020-11-18 14:57:54 · 302 阅读 · 0 评论 -
语法分析-算术表达式-C++实现
语法分析-算术表达式-C++实现1.1 算术表达式文法规则:E->TE’E’->+TE’|eT->FT’T’->*FT’|eF->i|(E)1.2 符号集:² First集:\1. First(F)={ ( , id }\2. First(T) { ( , id }\3. First(T’)={ * , ε }\4. First(E’)={ + , ε }\5. First(E)=First(T)={ ( ,原创 2020-12-05 13:52:42 · 2763 阅读 · 3 评论