排序图表:
有序的变化是矢量变化(矢量变化存在正负):(内部有序的部分+某个增量元素(同趋势))整体为具有同样有序趋势的新的有序部分。
一、插入排序(逐个插入)(基底空容器)
每次将某个待排序的数据,跟前面已经有序的序列数字一一比较找到自己合适的位置,插入到序列中,直到全部数据插入完成。
二、希尔排序(跳跃式插入)(基底空容器)
先将整个待排序的元素序列分割成若干个小规模子序列组(由相隔某个“增量”元素组成),在单个的小规模子序列组内分别进行直接插入排序,然后依次缩减分界增量元素再进行下一轮排序轮回,待整个待排序的元素序列中的全部元素基本上有序(分界增量元素数目足够少)时,再对全体元素进行一次最后的直接插入排序。由于希尔排序是对相隔了若干距离的小部分数据进行内部直接插入式排序,因此形象的称希尔排序为“跳着插”
三、冒泡排序(基底充满元素的容器)
冒泡排序:小数据上冒(升序)/大数据上冒(降序)
对两个相邻的数据进行比较并采取小数据上冒(升序)(前位置)/大数据上冒(降序)(前位置)。小数据上冒每次遍历后最小的数据浮在当前序列最上面/大数据上冒每次遍历后最大的数据浮在当前序列最上面,重复N轮遍历后即可以使数组序列有序。
冒泡排序改进1:
在某一轮的冒泡遍历进程中如果没有发生相邻数据的交换行为,则说明整个数据序列组已经有序且满足所期望的顺序,可以结束循环遍历。通过设置每一轮遍历交换行为操作次数统计计数count标志位来记录此轮遍历进程中有无数据交换动作可以判断是否要继续执行下一轮遍历循环。
冒泡排序改进2:记录下某次遍
排序算法相关的时间复杂度和进程稳定性,快排的原理(上)
于 2020-10-09 23:54:36 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)