基数排序

不比较大小,按数字的每一位分桶收集(LSD:从个位到最高位)。稳定,O(d·n)。 观察每个元素如何按 桶号 进出数组。

基数排序
01 / 50 步
初始数组:329 457 657 839 436 720 355。最大数 839(3 位),LSD 基数排序。 比较 0 · 交换 0
伪代码

				
					
					1
					procedure radixSort(a, n)
				
			
				
					
					2
					  d = 最大位数
				
			
				
					
					3
					  for k = 1 to d do                // 从最低位到最高位
				
			
				
					
					4
					    初始化 10 个桶
				
			
				
					
					5
					    for i = 1 to n do
				
			
				
					
					6
					      桶[a[i] 的第 k 位数字].push(a[i])
				
			
				
					
					7
					    end for
				
			
				
					
					8
					    按桶顺序收集回数组 a
				
			
				
					
					9
					  end for
				
			
				
					
					10
					end procedure
				
			
01 / 50
速度