初赛小知识之排序

关于排序

一些不常见的排序的个人理解

希尔(shell)排序:即是利用一个 \(dist\) 将整个序列利用二分分组,每次 \(dist/2\) ,其中 \(a[1+dist*k](0<=k)\) 为一组, \(a[2+dist*k](0<=k)\) 为一组,\(a[3+dist*k](0<=k)\) 为一组……以此类推,得出 \(a[i+dist*k](0<=k)\) 为一组。每一次将每一组进行排序,最后得到一个有序的序列。P.S.希尔排序是优化过的插入排序
堆排序:即是利用一个二叉堆进行的排序

基数排序:即是利用一个数的每一位作为关键词(从低到高)进行分组,进行最大值的位数次,就自然而然的排好序了,因为在进行低位的分组是,已经相当于将其进行了低位的排序,于是在高位时,只需看高位就行了

posted @ 2018-10-12 20:54  Point_King  阅读(158)  评论(0编辑  收藏  举报