📄️ 基数排序
参考视频 github仓库地址
📄️ 二分插入
代码来自改视频改写 算法思维:该算法是在插入排序的基础上优化的 插入元素下标i,从0 ~ i-1找插入该元素的位置,
📄️ KMP算法
本文代码来自于中国大学MOOC
📄️ 冒泡排序
算法思维:第一层for循环控制趟数,第二层for循环从j=0和j=1开始比较 如果发现前面比后面大则互换位置 优化:当第一趟下来 没有元素交换,说明该数组已经有序了不需要排序 java
📄️ 堆排序
代码来自该视频 github仓库
📄️ 插入排序
插入排序 将i元素插入到下标为0~i-1的位置上,逐个比较,如果发现前面的元素比arr[i]大 则将该元素后移 否则将i元素放入到空位置上 java package whale.simpleAlgorithm;
📄️ 求4的幂
java package whale.leetcode.simple; / @Author: WhaleFall541 @Date: 2021/5/31 23:22 / public class PowerOfFour {
📄️ 返回两个正序数组中位数
代码来自
📄️ 两个单链表相加
题目 NOTE 1. 要点不要忘了最后的进位 2. 两个单链表可以长度任意 java
📄️ 归并排序
视频链接 算法思路:将两个局部有序的数组归并为一个有序的数组
📄️ 快速排序
代码源自该视频 算法思想:选择一个中心点,将比中心点小的移动到左边,反之移动到右边; 这时形成两个子序列,对子序列递归直至,每个序列只有一个元素为止;
📄️ 选择排序
算法思维:从0到n-1每次取一个为i, 和i后面的元素进行比较 令int k = i;如果发现比i位置上的还小,则将该位置的角标赋值给k。 最后交换i 和 k的位置;每一趟都能排好一个最小的值。
📄️ 希尔排序
代码参考该视频 算法思维: 说明 arr.length = n; 增量序列为 seq; 间隔 span = seq[p]