まず、移動マップ・プレゼンテーション
分析の第二に、アイデア
1.背後にあるすべての数字と比較して第一、最初の番号(以下)未満である場合、一時的な指標より少ない数、最初のパス、最初の番号、およびステージングの終了後交換の最小数、最初の数が最小(又は最大値)であること
2.第2小(または大秒)の数を決定する全ての桁の第二の数、ダウン旅行と比べて第二のインデックス位置は、
上記の手順を繰り返します
最後から2番目の位置にポインタが移動するまで、最後から二番目に小さい(又は大きい最後から二番目)の数を決定し、その後、最後のものは、ソートが完了したかを決定します。
第三に、負のヘテロ解析
1.関係なく元の配列秩序と時間複雑度はO(N 2)であるかどうかの、
誰もが他の数の数を比較してはならないので、(N-1)2回、分解:n2-2n + 1、低消費電力とを除去し、一定N2残り、最終的な時間計算量がN2であるので
2つだけの補助変数が定義されているので、前記空間複雑さに関係なく、nの大きさの、空間的複雑さはOであり、O(1)(1)
java.util.Arraysインポート;
パブリッククラスメイン{
パブリック静的無効メイン(文字列[] args){
INT [] = N-新しい新しいINT [] {1,6,3,8,33,27,66,9,7、 } 88;
int型のTEMP、インデックス= -1;
(INT I = 0;私は<-n.length 1;私は++が)のために{
インデックス= I;
//そうであれば、一時的な添字の数が少ない
ため(INT 1 = I + J; J <n.length; J ++){
IF(N- [インデックス]> N- [J]){
インデックス= J;
}
}
////得られる最小数まで旅行し、このデータを交換する
場合には(指数> 0){
TEMP N- = [I];
N- [I] N- = [インデックス];
N- [インデックス] = TEMP;
}
System.out.println(Arrays.toString(N))。
}
のSystem.out.println(Arrays.toString(N))。
}
}