1、计数排序
1、计数排序
(1)题目
(2)思想
(1)开辟一个新数组,数组大小为原数组中最大值,扫描原数组,每扫描一个元素在新数组中将下标对应的值+1
(2)根据记录数组恢复原数组
(3)优缺点
优点:效率高,时间复杂度:O(n)
缺点:空间复杂度极高
2、数据结构可视化网站
美国旧金山大学数据结构可视化:usfca visualization
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
3、桶分配排序
1、简介
2、思想
(1)入桶:将源数据通过某种计算,变换成某一个值,放到一个动态变化数据结构中
(2)在入桶的过程中,将数据就排好序,动态的规划每个桶内的数据
(3)将各个桶进行排序:若原本桶就是规划的排好顺序的(如图),无需对其进行排序
(4)出桶:将各个桶中的元素依次出桶进入源数组
4、基数排序
1、思想
(1)类似于桶排序,根据每个元素的位数进行排序
(2)从每个元素最后一位开始进行排序,进行第一轮
(3)根据最大元素有几位就进行几轮
(4)动态演示:https://www.cs.usfca.edu/~galles/visualization/RadixSort.html