(1) 基數排序(radixsort)屬於「分配式排序」(distributionsort),又稱「桶子法」(bucket sort)或 binsort,顧名思義,它是通過鍵值的各個位的值,將要排序的元素分配至某些「桶」中,達到排序的作用
(2) 基數排序法是屬於穩定性的排序,基數排序法的是效率高的穩定性排序法
(3) 基數排序(radixsort)是桶排序的擴充套件
(4) 基數排序是 1887 年赫爾曼·何樂禮發明的。它是這樣實現的:將整數按位數切割成不同的數字,然後按每個
位數分別比較。
思想:將所有待比較數值統一為同樣的數字長度,數字較短的數前面補零。然後,從最低位開始,依次進行一次排序。 這樣從最低位排序一直到最高位排序完成以後, 數列就變成乙個有序序列。
這樣說明,比較難理解,下面我們看乙個**解釋,理解基數排序的步驟
具體實現如下:
//基數排序或捅排序
public
static
void
radixsort
(int
arr)
}//找位數
int maxlength =
(max +"")
.length()
;//建立10個桶儲存數,每乙個桶大小為陣列長度為了防止越界
int[
] bucket =
newint[10
][arr.length]
;//儲存每乙個桶裡的元素的個數
int[
] buckercount =
newint[10
];//迴圈遍歷每一次存進桶
for(
int i =
0, n =
1; i < maxlength; i++
, n *=10)
//定義指標來儲存
int index =0;
//迴圈取出每乙個桶的元素存入陣列
for(
int k =
0; k < buckercount.length; k++)}
//每一輪取出清空桶裡的元素
基數排序(桶排序)
1。什麼是基數排序 radix sort 基數排序 屬於分配式排序 distribution sort 又稱 桶排序 bucket sort 它是通過鍵值的各個位的值,將要排序的元素分配至某些 桶 中,達到排序的作用。2.它和歸併一樣,屬於穩定型演算法。public void radixsort i...
基數排序(桶排序)
思想 先把這組資料的個位排有序,再把十位排有序,再排百位 千位 include include include include void showarr int arr,int len printf n int getmaxnumfin int arr,int len 找陣列中最大數,並求出最大數的...
基數排序 桶排序
1.基數排序又稱桶排序,具體思想就是將數值當成陣列的下標儲存。2.將所有數值拿出個位來比較,例如值為m的就存入下標為m的陣列中。3.將比較後的陣列拿出即為按個位排序好的陣列,再將這個排序好的陣列按十位排序。4.比較完個十百千所有位數以後即排序完成。兩種 實現思路都是一樣的,實現方式1可直接改寫為c或...