自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KMP算法详解

KMP算法 KMP算法用于串的模式匹配 设主串为 text,模板串为 str 若匹配成功返回该模板串首次出现在主串的下标,若失败则返回 -1 暴力解法 i_t 为主串比较的下标 i_s 为模板串比较的下标 若某次该位置匹配成功,主串和模板串的比较位置都置为下一位;若 i_s到达边界,则匹配成功,退出循环 若匹配失败,模板串比较位置退回到起始位置,即 i_s = 0 ,所以 i_s 也是已经匹配成功的长度;主串比较位置改为上一轮开始比较位置的下一位置,相当于主串整体前移一位,即为 i_t = i_t -

2022-03-02 21:00:06 170

原创 计数排序、基数排序和桶排序

计数排序、基数排序和桶排序 计数排序 不同于基于比较和交换的排序,计数排序是基于统计词频的排序,计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中,这就要求了待排元素必须是有确定范围的整数。 计数排序的过程如下???? 计数排序步骤: 确定数组元素的范围,即为 最大值和最小值 开辟对应范围长度的数组 countArr[],遍历统计待排元素设为 num 对于每次出现的 num,将 countArr[num]++ 此时按序按次输出 countArr[],即排好序 桶排序 桶排序如其名

2022-02-12 19:22:17 769

原创 堆排序算法

堆排序 堆的概述 可以将长度为 n 的一维数组视为一棵 完全二叉树 ????, 0 位置为根节点,对于下标为 i 的 节点: 其左孩子下标为 2*i+1 右孩子下标为 2*i+2 父节点下标为 (i-1)/2 ,根节点代入 0 计算后为本身 若对于该树的任意节点,都满足该节点值大于子节点的值,则称该堆为 大根堆 , 若该节点值小于子节点的值,则称该堆为 小根堆 实例如图???? 堆的核心操作 堆有两个核心操作:向上调整???? 和 向下调整???? 以大根堆为例: 向上调整heapInsert()

2022-02-11 16:38:13 326

原创 归并排序算法

归并排序算法 二路归并

2022-02-11 12:22:46 469

原创 快速排序算法

快速排序 基本思想 快速排序是基于分治法的,其思路如下: 在待排序序列中,选取一个数值作为 基准 pivot ,通过一趟排序,将序列以 pivot 划分为了 左右两个子序列 左子序列元素值都比 pivot 小,右子序列元素值都比 pivot 大,相当于一趟排序后,确定了 pivot 在序列中的最终位置 分别递归对左右子序列重复操作,直至确定所有元素的最终位置 ❓ 其难点主要在于,在某一趟排序(实则为某次递归中),如何划分左右两个子序列

2022-02-10 14:29:57 586

原创 异或在算法中的妙用

异或在算法中的妙用,异或实现交换 异或的性质 异或满足交换律和结合律 异或运算的结果与参与异或运算的变量的排列组合无关,即与运算的先后顺序无关

2022-01-28 15:34:21 592

空空如也

空空如也

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

TA关注的人

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