排序算法
什么是排序?
在计算机中,利用一定的程序,将输入的随机数组进行一定的运算处理,最后输出一个按照一定规则进行排列的数组,为排序。
经典的排序算法
| 排序算法 | 解释 | 复杂度 |
|---|---|---|
| 冒泡排序 | 重复从输入数组右边进行比较两个相邻数字,根据结果决定是否交换两者位置 | n^2/2 |
| 选择排序 | 从待排序的输入数组中找到最小的,然后将其与序列最左边的数字进行交换位置,重复该操作 | n^2/2 |
| 插入排序 | 从输入数组的右侧的未排序区域内取出一个数据,然后插入到一排区域的合适位置上,直至所有区域都是已排列数据 | n^2/2 |
| 堆排序 | 将输入的数据按照堆的结构进行构建,然后根据顺序冲对中一个一个的取出 | O(logn) |
| 归并排序 | 将输入数组进行分为两个长度相同的子序列,不断进行分,直至不能分下去,然后进行归并操作,归并中,按照顺序进行比较排列,直至为一个整体 | O(nlogn) |
| 快速排列 | 在输入数组中选择一个基准值,然后将其余数值分为比基准值小和大的两个不同类型数值,分别分在两侧,然后对其他数值进行同样操作 | O(nlogn) |
更加复杂的排序方式还有许多,本文章主要列出主要的几种排列方式,供大家参考~
排序算法详解:从基础到高级

被折叠的 条评论
为什么被折叠?



