一、初级排序
时间复杂度:o(n^2)
1、选择排序:首先从未排序序列中找到最小元素,放到待排序序列的起始位置。接着再从剩下的未排序序列继续找到最小的元素,放到已排序序列的末尾。
![](https://img.haomeiwen.com/i10007318/e567a0f80a38d582.png)
2、插入排序:对于未排序数据,在已排序序列中,从后往前扫描,找到合适的位置插入
![](https://img.haomeiwen.com/i10007318/125dd0b633552dea.png)
3、冒泡排序:待排序数组,比较相邻元素,如果逆序,则交换。重复这个过程,直到待排序数组没有需要交换的元素了。
![](https://img.haomeiwen.com/i10007318/e6769ebec3a22fd6.png)
二、高级排序
时间复杂度:o(nlogn)
1、快速排序
数组取标杆privot,将小元素放在privot左边,将大元素放在privot右边,然后继续对左边元素和右边元素进行快排,以达到整个序列有序
![](https://img.haomeiwen.com/i10007318/48e6a6bd1679c1a5.png)
网友评论