自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 KMP算法简述

BriefIntroductionKMPKMP(Knuth-Morris-Pratt) 算法是一个著名的字符串匹配算法,他不仅简洁高效,更以 难以理解 而著名,为了更好的理解此算法,在博客里简单的记录一下我的理解,如有错误欢迎指正,也希望能给大家带来一点启发。Principle为了更方便讲解,我们把被匹配的字符串称为文本串,要找出的字符串称为模式串。我们首先思考最简单的字符串匹配—— “朴素字符串匹配”,朴素字符串匹配就是把模式串不停的去与文本串作对比,如果遇到不匹配的,就把模式串第一位后...

2021-11-08 16:53:12 210

原创 快速排序(手动SORT)简单理解

Part One 前置1.1 由来为什么有这个系列?因为高三熬出来要...康复训练了Part Two 原理&代码2.1 原理何为快速排序?不就是就是SORT吗?但是手打出来还是很有必要的快速排序本质上是一种分治算法其原理是 把数组中一个数(可以随机)作为一个flag 把比它小的放在它右边把比它大的放在左边 然后我们再把这个数组分成两部分 在这两部分里 分别再找一个flag 再把这两个数组里面 小的大的分在两边。我们递归处理到底层 就可以把整个数组变成有序的。2.2 代

2021-10-13 22:34:15 412

原创 归并排序简单理解

Part One 前置1.1 废话排序一个一个来,今天轮到归并排序,说句实在话今天一上午都在调,真的退化了不少,今天下午在Pad上重新打了一遍,就一遍过了,照惯例,记录一下。Part Two 原理&代码2.1 原理归并排序本质上也是运用了分治的原理。它的原理是把一段数列不断的一分为二,然后递归到底层,从最小的数列(一个一个的数字)进行有序的合并(保证每次合并后新数列都是有序的),因为我们从底层保证里每次合并后数列都是有序的,所以最后一次合并后,也就是最终结果数列就是有序的。2

2021-10-13 22:32:50 141

原创 冒泡排序简单理解

原理冒泡排序 人如其名 就像泡泡一样,较大的数从下面一个一个与其他数进行比较,如果依然较大则继续往上浮。一个数列有 $n$个数字,我们每个数字循环一遍(外层循环),第i个数在最坏情况下(完全与目标结果相反)还需要交换$ n-i $次(内层循环)所以冒泡排序并不是很稳定的 最坏情况达到 $O(n^2)$依然不理解的话,可以手动模拟一下,其实就相当于每一轮外层循环会确定一个第n大(小)值。在 $n$轮后就是有序的了。## 2.2 代码```cpp#include <bits/std

2021-10-13 22:31:14 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除