数据结构与算法-排序

25 阅读1分钟

知识导图

eb74c4d78533aeb866b7b9503af2d184.jpg

一、直接插入排序

适合基本有序序列

f3e33f6aed8db540a6316650d182867d.jpg

二、简单选择排序

n个数做n-1趟排序,最后一个数必然是最大的 时间复杂度最小为O(n)

cd2db4094b1e7696a2b3d42570e26b36_720.jpg

三、冒泡排序

适合基本有序序列 最小比较次数为n-1

  • 小数上浮冒泡(两两相邻比较,小数上浮)

d4859a5b8c90b41ceb3cd998c43cbc2a_720.jpg

  • 大数沉底冒泡

四、快速排序(赋值)

  • 一趟快排:选一个基准数(往往是第一个数) 将基准数放到辅助空间中,使得左边为比基准数小的元素集合,右边为比基准数大的元素集合
  • 再对左右集合递归进行快排

2aff38e64fb8f27b49f8ba62af52ea4b_720.jpg

五、总结

7fc9be3a3a351eb152e5554388b7bdd3_720.jpg