
排序算法
文章平均质量分 60
包括8种常见排序算法
爱打辅助的小可爱
可以的话,给个关注吧,持续更新中…
展开
-
排序方式(8种)详解1—冒泡排序
目录 1、冒泡排序运行结果: 1、冒泡排序概述 冒泡排序的英文Bubble Sort,是一种最基础的交换排序。之所以叫做冒泡排序,因为每一个元素都可以像小气泡一样,根据自身大小一点一点向数组的一侧移动。原理:每一趟只能确定将一个数归位。即第一趟只能确定将末位上的数归位,第二趟只能将倒数第 2 位上的数归位,依次类推下去。如果有 n 个数进行排序,只需将 n-1 个数归位,也就是要进行 n-1 趟操作。而 “每一趟 ” 都需要从第一位开始进行相邻的两个数的比较,将较大的数放后...原创 2022-04-09 16:54:32 · 1913 阅读 · 0 评论 -
排序方式(8种)详解2—选择排序
目录1、选择排序概述2、选择排序分类选择排序(原始版)、选择排序(递归版)、选择排序(优化版)、选择排序(优化递归版)3、代码展示和运行结果选择排序(原始版)选择排序(递归版)选择排序(优化版)选择排序(优化递归版)留言:为作者一人拙见,仅参考使用,如有帮助,不甚荣幸。1、选择排序概述选择排序是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,继原创 2022-04-10 19:04:32 · 1846 阅读 · 0 评论 -
排序方式(8种)详解3—插入排序
目录1、插入排序概述基本思想:2、插入排序分类插入排序(原始版)、插入排序(二分查找版)、插入排序(多元素插入优化版)3、代码展示及运行结果插入排序(原始版)插入排序(二分查找版)插入排序(多元素插入优化版)留言:为作者一人拙见,仅参考使用,如有帮助,不甚荣幸。1、插入排序概述一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法 。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序原创 2022-04-11 20:59:08 · 2497 阅读 · 0 评论 -
排序方式(8种)详解4—堆排序
1、堆排序概述 指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序在代码的实现上是十分完美简洁的原理: 1、堆初始化:创建一个大根堆。 2、元素下沉:将最后一个元素和第一个元素交换,再次下沉。每次下沉均可得到一个最大 元素放于尾部。动画展示:时间和空间复杂度:...原创 2022-04-13 19:33:16 · 1087 阅读 · 0 评论 -
排序方式(8种)详解5—归并排序
1、归并排序概述 归并排序是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。速度仅次于快速排序,为稳定排序算法,原理:归并操作,也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。如 设有数列{6,202,100,301,38,8,1}初始状态:6,202,100,301,38,8,1第一...原创 2022-04-14 23:33:27 · 3082 阅读 · 1 评论 -
排序方式(8种)详解6—快速排序
目录1、快速排序概述原理:图示:时间和空间复杂度:2、快速排序分类快速排序(递归版)、快速排序(递归优化版):(筛选更好的基准数,较短区间采用插入排序)3、代码实现及运行结果main函数:快速排序(递归版)快速排序(递归优化版)留言:为作者一人拙见,仅参考使用,如有帮助,不甚荣幸。1、快速排序概述 快速排序是对冒泡排序算法的一种改进。冒泡排序每次只能交换相邻的两个元素,而快速排序是跳跃式的交换,交换的距离很大,因此总的比较和交换次数少了很...原创 2022-04-20 22:01:33 · 1054 阅读 · 1 评论 -
排序方式(8种)详解7—计数排序
1、计数排序概述 计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。当然这是一种牺牲空间换取时间的做法,而且当O(k)>O(n*log(n))的时候其效率反而不如基于比较的排序(基于比较的排序的时间复杂度在理论上的下限是O(n*log(n)), 如归并排序,堆排序)原理:1、找到数组中最大值2、建立一个max的...原创 2022-04-20 23:02:06 · 737 阅读 · 1 评论 -
排序方式(8种)详解8—桶排序
目录1、桶排序概述原理:图示:时间和空间复杂度:2、桶排序分类桶排序(优化版)3、代码实现及运行结果main函数:桶排序(优化版)留言:为作者一人拙见,仅参考使用,如有帮助,不甚荣幸。1、桶排序概述 桶排序工作的原理是将数组分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不...原创 2022-04-21 22:56:22 · 1155 阅读 · 2 评论