推荐
Java
Python
C/C++
Web
Harmony
Android
IOS
数据库
git
算法
操作系统
other
冒泡排序
冒泡排序(Bubbling Sort)是一种比较直观的排序方式。数组中的元素大小就像就像水中的气泡一样,气泡大的先浮出来,气泡大的会放到数组最后。冒泡排序比较相邻的两个元素,如果数组坐标小的的元素A大于坐标大的元素B,交换两元素,循环重复上述对比交换工作,直到数组排序完成。
2023.08.16
选择排序
选择排序是一种比较直观的排序方式。从数组中选择最大(最小)的元素,把元素放在数组的起始位置;循环从剩余的元素中执行上述操作,直到剩余的元素执行完,序列排序完成
2023.08.16
插入排序详解
插入排序是一种比较直观的排序方式。插入排序:把未排序的数组中第一个元素当作一个有序的数组,取剩余未排序的第一个元素,和有序数组的最后一个元素比较,如果小于最后一个元素,最后一个元素后移一位,直到找到合适的位置插入。循环执行上述操作,直达未排序的元素执行完。(这个类似于打牌,洗牌)
2023.08.16
希尔排序
希尔排序是插入排序的一种优化排序方法,希尔排序是对数组下标按照一定增量分组,对每组使用插入算法排序;循环执行该操作直到增量不小于0,排序完成。
2023.08.16
归并排序详解
归并排序是一种执行归并操作的排序算法,该算法采用分而治之的方法。归并排序的实现由两种方案:
2023.08.16
快速排序
快速排序使用的分治策略进行排序。快速排序像是冒泡排序上添加了递归分治。1. 从数列中挑出一个元素,称为“基准(pivot)” 2. 重新排序数组,所有元素笔基准小的放在基准前面,所有元素笔基准值大的放在基准后面。(相同的值可以放任意一遍) 3. 递归把小于基准和大于基准的子数组排序。
2023.08.16
堆排序
堆排序是利用堆这种数据结构的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质;子节点的键值或索引总是小于(或者大于)它的父节点。
2023.08.16
桶排序
桶排序其实是对计数排序的优化版本,桶排序是每个桶存储一定范围的元素,通过映射函数将待排序的数组中的元素映射到对应的桶中,对每个桶再进行排序,将桶中的数据重新逐个放回的原数组中。
2023.08.16
计数排序
计数排序是一种非比较的排序方法,是将数组中的元素转化为健存储在额外开盘的数组空间中。算法的复杂度O(n+k),其中K是数组元素的范围
2023.08.16
基数排序
基数排序是一种非比较整数的排序算法,其排序原理是将整数按照位数切割成不同数字,然后按照每个位数分别插入k(0-9)个的新数组中,重复着行这个操作直到位数执行完。(基数排序不仅仅只用于整数数组,也可以用于浮点数、字符串、日期等)。
2023.08.16