排序
排序是什么?
排序就是将一个可以是有序的,也可以是无序的序列,重新排列成一个有序的序列
排序后的序列可以是递增序列,也可以是递减序列
分类
内部排序和外部排序
内部排序就是在内存储器
,也就是在内存
中进行的排序
外部排序是由于待排序序列数量太大,内存无法存放,只能借助于外存储器
进行的排序
常用的排序算法都是内部排序
稳定排序和不稳定排序
如果排序前value1=value2,且相对位置index1<index2,排序后仍然index1<index2,则排序是稳定的,否则是不稳定的
比较排序和非比较排序
如果排序通过两个元素大小来进行排序,则这种排序是比较排序,否则是非比较排序
主要学习内容
1、时间复杂度:
时间复杂度包括:最好时间复杂度、最坏时间复杂度、平均时间复杂度
2、空间复杂度:
多数排序算法都是用空间换时间。
3、算法稳定性
某种排序算法是否稳定,这是需要掌握的
4、算法适用性
排序算法适用场景,顺序表、链表…
5、代码
会写基本代码,(手撕)
十大常见排序(附链接)
插入排序:https://blog.youkuaiyun.com/qq_45636631/article/details/116464859
希尔排序:https://blog.youkuaiyun.com/qq_45636631/article/details/116464859
选择排序:https://blog.youkuaiyun.com/qq_45636631/article/details/116465800
冒泡排序:https://blog.youkuaiyun.com/qq_45636631/article/details/116465800
计数排序:https://editor.youkuaiyun.com/md/?articleId=116545344
桶排序:https://editor.youkuaiyun.com/md/?articleId=116545344
基数排序:https://editor.youkuaiyun.com/md/?articleId=116545344
快速排序:https://editor.youkuaiyun.com/md/?articleId=116565652
归并排序:https://editor.youkuaiyun.com/md/?articleId=116565652
堆排序:https://blog.youkuaiyun.com/qq_45636631/article/details/116835281