算法基础
TiggerRun
Tigger.run 独立开发者 热爱逆向工程与软件开发
展开
-
【复习】插入排序
Day Day Up插入排序直接插入排序 [稳定]步骤实现分析折半插入排序 [稳定]步骤实现分析希尔排序 [不稳定]步骤实现分析不稳定性参考插入排序这么多插入排序,由直接插入排序进行变化得来!直接插入排序 [稳定]将序列划分为两块:有序区,无序区初始态序列 有序区R[0],无序区R[1] ~ R[n-1]步骤i 指向无序区的头,j 指向有序区的尾,tmp 用于临时储存待插入的值...原创 2019-12-12 21:31:47 · 213 阅读 · 0 评论 -
树(一)
引入啊最近在打验证码识别赛,打的身心憔悴。刷榜单的比赛也真的是刺激嗷。突然发现不补一补数据结构要凉哈哈哈哈。树的基本术语度结点的度:该结点的子结点个数树的度:Max(结点的度)结点分支结点:还没到底,度 != 0子叶结点:到底了,度 == 0路径路径:从某一结点出发,自上而下 ,到达目的地经过的结点数 - 1(其实就是线段)路径长度:经过的结点 - 1结点关系孩子结点结...原创 2019-11-11 13:19:18 · 258 阅读 · 0 评论 -
KMP算法之Next数组如何计算
哈哈哈KMP算法之Next算法之如何计算简的描述抛出疑问所以看懂下面的图最简单的实现KMP算法之Next算法之如何计算简的描述K,J为两个“指针”,K指向前缀,J指向后缀。当P[K]==P[J],则 K++,J++,匹配下一个字符当P[K]!=P[J],则K=next[K],进行回溯抛出疑问为啥回溯K呢???因为从左到右,前缀是固定的,后缀会随J++发生巨大的变化next是...原创 2019-10-24 14:54:58 · 1149 阅读 · 0 评论 -
KMP字符串匹配算法(一)
标题丢了KMP匹配算法Prefix TableNext ArrayKMP匹配算法现有字符串0123456789abaacababcPrefix Tablestring P = “a b a b c”Prefix Tableaa ba b aa b a ba b a b c原创 2019-10-18 01:49:26 · 320 阅读 · 2 评论 -
【搜索】深度优先搜索基本模型
目录深度优先在全排列上的应用问题简述想法一题目解读想法二想法三深度优先搜索深度优先在全排列上的应用问题简述N个连续自然数的全排列。变形:有N张卡片(1,2,3,4,…,n),得出所有排列的可能。排列到 N 个盒子中想法一在第一时间想到的肯定是枚举法,用 for 循环来遍历所有可能每一个盒子都有N种可能,那么用N层,最后判断N个数各不重复即可。这个时间复杂成都是O(N^9),会占...原创 2019-05-10 18:58:56 · 631 阅读 · 0 评论