Java実装バケツソート
922 ワード
バケツソート:余分な空間を使用して、空間で時間の考え方を変えるので、時間の複雑さはO(n+m)です.
1.1基本思想
バケツソートは、すべてのソートアルゴリズムの中で最も速く、最も簡単なソートアルゴリズムです.基本的な考え方は,すべての排出される元素の範囲を知った後,この範囲と同じ数のバケツを用意し,排出される元素が{3,1,5,9,6,5,0}のような対応するバケツに元素を置くことである.10個のバケツのラベルが0から9(コードの中で1つの配列に対応する下付き記号)を用意し、各要素を対応するバケツに入れ、すべての要素を順番に出力する(コードの中で配列iの下付き記号を順番にarray[i]回出力する)、すなわち{0,1,3,5,5,5,6,9}である.
1.1基本思想
バケツソートは、すべてのソートアルゴリズムの中で最も速く、最も簡単なソートアルゴリズムです.基本的な考え方は,すべての排出される元素の範囲を知った後,この範囲と同じ数のバケツを用意し,排出される元素が{3,1,5,9,6,5,0}のような対応するバケツに元素を置くことである.10個のバケツのラベルが0から9(コードの中で1つの配列に対応する下付き記号)を用意し、各要素を対応するバケツに入れ、すべての要素を順番に出力する(コードの中で配列iの下付き記号を順番にarray[i]回出力する)、すなわち{0,1,3,5,5,5,6,9}である.
public class TestBucketSort {
private int[] bucket;
private int[] array;
// size
public TestBucketSort(int[] array) {
this.array = array;
int max = array[0];
int min = array[0];
for(int i=0; imax){
max = array[i];
}
if(array[i]