- 博客(5)
- 收藏
- 关注
原创 KMP算法学习笔记
KMP算法学习笔记Knuth-Morris-Pratt算法(即KMP算法)是一个用于字符串匹配(求给定串中是否包含另外一个串)的算法,由暴力匹配法优化而来。暴力匹配法:本文将被匹配的串称为主串,去匹配主串的串叫模式串。将模式串第一位逐个与主串中的字符比对。.如果匹配,则遍历模式串中的每个字符与主串对应的字符比对。如果有某一位比对失败,则主串与模式串都回退到第一位,重复步骤1,直到都比对成功或者主串已经遍历完毕。但这样的过程有一个问题,那就是一旦比对失败,主串与模式串都要回退到第一位,抹除掉
2021-03-24 18:18:54
91
原创 栈和队列学习笔记
栈和队列学习笔记本文参考以及引用内容来自——数据结构(C语言版)—清华大学出版社—严蔚敏,吴伟民)纯学习用,如有侵权请私信我告知!一、栈的定义栈,是限定仅在表尾进行插入或删除操作的线性表,即单向进出, 先进后出。栈的抽象数据类型: ADT Stack<T> { 数据:D={di | di 属于 T , i = 0,1,..,n, n≥0} 关系:R={<di-1, di> | di-1, di 属于 D, i = 1,2,…,n} 对数据的操作: 构造,析构;
2021-03-24 12:02:06
157
原创 线性表学习笔记
线性表学习笔记本文参考以及引用内容来自——数据结构(C语言版)—清华大学出版社—严蔚敏,吴伟民)纯学习用,如有侵权请私信我告知!一、线性表的定义线性表是最常用且最简单的一种线性结构。线性结构的特点是:在数据元素的非空有限集中,①存在唯一的一个被称作“第一个”的数据元素。②存在唯一的一个被称作“最后一个”的元素。③除第一个以外,集合中的每个数据元素都只有一个前驱。④除了最后一个以外,集合中的每个元素都只有一个后继。简单总结就是,有头有尾,中间元素有唯一的前驱与后继,这样的数据结构便是线性结构。
2021-03-23 20:22:54
203
原创 算法设计学习笔记(纯学习用,希望会持续更新)
算法设计学习笔记(希望会持续更新)纯学习用!如有侵权请私信我告知。1、Perm算法(全排列)例题:打印n个元素的全排列(所有可能的组合)。思路:利用最简单的123进行分析,123的全排列是123、132、213、231、321、312六种。首先搞明白123,213,321的成因:是由1和自己,2和3交换得到;其次搞明白132,231,312的成因:在第一步的基础上第一个数字不变,后面的数字交换得到。参考代码(c++):template<class Type>voidPerm(Typ
2021-03-23 18:34:04
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人