
数据结构与算法
文章平均质量分 89
Golang服务端工程师
服务端工程师
展开
-
让你快速掌握KMP算法的最简详解 —— 动态规划、有限状态自动机(DFA)
KMP算法KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)。1说明文章...原创 2020-02-14 01:24:51 · 962 阅读 · 0 评论 -
【0基础入门数据结构与算法】—— 归并排序
目录1. 说明2. 归并排序2.1. 实现过程2.2. 代码片段 - 自顶向下2.2.1.代码片段2.2.2. 代码解释2.3. 代码片段 - 自底向上2.3.1. 代码片段2.3.2. 代码解释1. 说明归并排序(MERGE-SORT) 是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列...原创 2020-01-26 12:41:57 · 456 阅读 · 0 评论 -
【0基础入门数据结构与算法】—— 选择排序、插入排序、冒泡排序
Bubble Sort _ GeeksforGeeks原创 2020-01-26 11:11:16 · 189 阅读 · 0 评论 -
数据结构 - 树(Tree)的基本特性以及遍历方法
文章目录1. 树1.1. 基础结构1.2. 特性1.2.1. 天然递归1.3. 中序遍历1.3.1. 递归遍历1.3.2. 迭代遍历-11.4. 前序遍历1.4.1. 递归遍历1.4.2. 迭代遍历-11.4.3. 迭代遍历-11.5. 后序遍历1.5.1. 递归遍历1.5.2. 迭代遍历 - 11.5.3. 迭代遍历 - 21. 树1.1. 基础结构type TreeNode struct...原创 2020-01-10 14:34:16 · 1243 阅读 · 0 评论 -
【0基础入门数据结构与算法】—— 希尔排序
特性优于直接插入排序不稳定O(n^(1.3-2))说明希尔排序(Shell’s Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐...原创 2019-12-01 19:21:38 · 145 阅读 · 0 评论