妙趣横生sort

算法学习的目标——自如地选择合适数据结构,自如地使用分治、递归等手段作出伪码,自如地用高级语言实现。——徐云
算法设计就是一系列逻辑推导与方法。——题记

神奇排序的思想

  1. 计数排序
    对有界的数组,define int a[low->high];
    a[i]record ==i的数目,so b[s[i]]=a[i];
    s[i]=$\sum_{min}^{i}a[i];s[i]--;
    复杂度为O(n+k),当k>>n时,O(n^h),只有k=O(n),才为O(n),空间复杂度也~k
  2. 基数排序
rubbbish_sort_list
  1. 快排、Shell排序、堆排序、桶排序、归并排序
  • quicksort减少time complexity的principle
  1. 二叉搜索树——左小右大;堆排序——根最大
  2. 归并排序——不断分组为1&2——组内排序——与新的组排序——目标
  3. Shell排序——length/3对排序——length/3/3对排序——全部有序
  4. 各排序方法的复杂度分析
  5. 各排序方法的适用条件
  6. 计数-基数,桶排序
posted @ 2022-09-27 16:07  clfire  阅读(17)  评论(0编辑  收藏  举报