バブルソート
5235 ワード
隣接する2つの要素を比較、交換、ソートするアルゴリズム
ソート・プロシージャ
ソースコード
void BubbleSort() {
int[] nums = {1000, 400, 12, -59, 328, 121, -3};
// loop 1
for(int i = 0; i < nums.length; i++) {
// loop2
for(int j = 0; j < nums.length-(i+1); j++) {
if(nums[j] > nums[j+1]) {
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
System.out.println(Arrays.toString(nums));
}
loop 1:ソートから除外する要素の数を示します.loop 2:jの2番目の要素をj+1の要素と比較した後、シフトします.iの値を増やすたびに、巡回する要素の数が1つ減少します.
時間の複雑さ
回転毎の比較回数を合わせると上記のように、全ての場合O(N^2)となります.
くうかんふくざつさ
1つのアレイでしか行われないのでO(n)である.
長所
短所
Reference
この問題について(バブルソート), 我々は、より多くの情報をここで見つけました https://velog.io/@yeoro/버블-정렬-Bubble-sortテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol