初赛小知识之排序

关于排序:

这是排序的一些基本知识,下面是一些不常见的排序的个人理解:

希尔(shell)排序:即是利用一个dist将整个序列利用二分分组,每次dist/2,其中a1+dist*k为一组,a2+dist*k为一组,a3+dist*k为一组……以此类推,得出ai+dist*k为一组。每一次将每一组进行排序,最后得到一个有序的序列
P.S.希尔排序是优化过的插入排序
堆排序:即是利用一个二叉堆进行的排序
基数排序:即是利用一个数的每一位作为关键词(从低到高)进行分组,进行最大值的位数次,就自然而然的排好序了,因为在进行低位的分组是,已经相当于将其进行了低位的排序,于是在高位时,只需看高位就行了

猜你喜欢

转载自www.cnblogs.com/Point-King/p/9780677.html