Demos: 一些小知识点或者疑惑, 以及相关学习算法等编程练习
核心思想先从后面哨兵开始,前后哨兵步步逼近,交换,每次跟基准的交换,分而治之递归排序。最后的递归退出条件
最佳情况:T(n) = O(nlogn) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(nlogn)
要交换的时候,先记录此刻最大(最小值)对应的index,拿此index值跟后续比较,外层循环结束后再交换
最佳情况:T(n) = O(n2) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2)
每次都从第一个开始,比较相邻两个元素,把符合条件(升序or降序)的挪到后面,第二层循环size不断减少
最佳情况:T(n) = O(n) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2)
前面的都是已经排序的,然后从i+1往前扫描,如果有遇到比它小的,就把前面的往后移位,直到遇到相等或者小于的,关键点是记录 current值以及往后替换排位。
最佳情况:T(n) = O(n) 最坏情况:T(n) = O(n2) 平均情况:T(n) = O(n2)