개발하기좋은날

Bubble Sort 본문

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]

 

반응형

'Algorithm' 카테고리의 다른 글

binarySearch  (0) 2022.06.07
largestProductOfThree  (0) 2022.06.02
treeDFS  (0) 2022.06.02
isSubsetOf  (0) 2022.05.24
fibonacci  (0) 2022.05.23
Comments