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}である.
 

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]