演算法之排序0 簡化版桶排序

2021-09-01 19:59:47 字數 477 閱讀 3118

看了《啊哈!演算法》一書,打算寫點讀書筆記,記錄一下。

先說說桶排序,先說說超級簡化版本的桶排序:

/**

* 簡化桶排序,以簡單的整型為例,數值是多少,就在陣列下標相同(桶)的數加一;例如取到數13,那麼就a[13]++;

* 然後迴圈桶,輸出值大於0的角標(1輸出1次,2輸出2次)

*/public static void tong() ;// 待排序的值

int sort = new int[100];// 桶

for (int i = 0; i < a.length; i++)

// 輸出

int num = 0;

for (int j = 0; j < sort.length; j++)

} }

共有n個數,需要迴圈n次,時間複雜度為o(n);

但是簡化版桶排序,只能進行最簡單的數值處理,且非常浪費空間。

簡化版桶排序

例 讓計算機隨機讀入 5個數然後將這 5個數從大到小輸出 輸入 5 3 5 2 8 輸出 8 5 5 3 2 思路 先申請乙個大小為 11 的陣列 int a 11 現在你已經有了 11 個變數,編號從 a 0 a 10 剛開始,我們將 a 0 a 10 都初始化為 0,表示這些0 10的數字還沒出...

最快最簡單的排序(之二) 桶排序(簡化版)

1.簡介 從前面的氣泡排序可以發現乙個問題,即使只有乙個數沒排好序,氣泡排序都要把所有相鄰的數進行遍歷一遍!這樣效率就變的很低了!特別是在數非常多時就更加明顯!下面就來介紹一種比較高效的排序方法 桶排序 注意 橢圓裡面的數,就是用於排序的數!長方形陣列就是用來記錄同樣的數出現了幾次。橢圓裡面的每個數...

排序演算法之桶排序

1 設定乙個定量的陣列當作空桶子 2 尋訪序列,並且按照要求把記錄乙個乙個放到對應的桶子去 3 對每個不是空的桶子進行排序。4 從不是空的桶子裡把專案再放回原來的序列中。include include include include typedef struct node node,list voi...