버블 정렬

2020. 11. 16. 19:46Data Structure

버블정렬은 정렬 중 가장 기본적인 정렬이다. 구동 방식은 배열의 가장 앞의 두개의 값을 비교 후 , 만약 뒤의 값이 더 작다면, 위치를 바꾼다음 인덱스를 둘다 +1한 다음 똑같은 방식으로 진행을 계속하는 것이다. 사실 다른 사이트들에서 많이 설명이 자세한 것들이 많아 여기서는 빠르게 코드를 보고 싶은 사람만 봤으면 좋겠다.

 

시간복잡도는 n제곱이다. 버블 정렬의 장점은 쉽게 구현을 할 수 있다는 것이지만, 복잡도의 문제에 따라 배열의 크기가 커지면 커질수록 시간이 상당해져서 큰 경우에는 잘 사용하지 않는다. 그나마 리턴값이 배열 그대로라 메모리를 잡아먹지 않는다는 점이 장점?인 것 같다.

 

function BubbleSort(array){
	for(let i = 0; i < array.length; i++){
    	for(let j = 0; j < array.length; j++){
			if(array[j] > array[j+1]){
            	var temp = array[j];
                array[j] = array[j+1]
                array[j+1] = temp;
            }
		}
	}
    return array;
}

 

 

'Data Structure' 카테고리의 다른 글

합병정렬  (0) 2020.11.20
삽입정렬  (0) 2020.11.18
선택정렬  (0) 2020.11.17
Stack(1) - 정의  (0) 2020.10.29