Algorithm
Bubble Sort
devbi
2022. 5. 25. 17:24
반응형
- 버블 정렬은 요소들이 마치 거품이 일어나듯이 연쇄적으로 자기 자리를 찾아간다고 해서 버블 정렬이란 이름이 붙여졌다

- 아래 코드는 기존의 버블정렬의 문제점에서 더이상 정렬할 부분이 없는 경우 break문을 사용하여 시간 복잡도를 일부 줄인 코드이다.
const bubbleSort = function (arr)
{
var length = arr.length;
var i, j, temp;
var flag = false;
for (i = 0; i < length - 1; i++)
{
if(flag ==true){
console.log("break")
break;
}
var chargeCount = 0;
for (j = 0; j < length - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}else
chargeCount++;
if(chargeCount == (length - 1 - i)){
flag=true;
}
}
}
return arr;
};
let output = bubbleSort([5,2, 1, 3, 4,10,11,12,13,14,15,16,17,18,19]); // 길이는7 검사 횟수 :6 , 5번
console.log(output); // --> [1, 2, 3]
반응형