Computer Science/자료구조,알고리즘

버블 정렬 알고리즘

Fo_rdang 2024. 7. 20. 15:43
반응형

현재 값과 다음값을 비교해서 더 큰 값을 뒤로 배치한다. 

=> 이 과정을 반복하다 보면 

 

가장 큰 값인 5가 맨 뒤로 가게 됐다. 

이 과정을 반복해보자

가장 큰 값인 4가 맨 뒤로 가게 됐다. 

이 과정을 반복해보자. 

 

이 쯤 눈치를 챘는가? 

배열 전체를 통해 숫자를 비교하는 횟수가 점점 줄어들고 있다. 

이유) 

- 한번 배열 훑는 과정거칠 때마다 가장 큰 값이 맨 뒤에 고정된다. 

=> 그러니, 그 숫자 이전까지만 배열을 훑어주면 된다. 

 

특징 

- 시간 복잡도는 O(N^2)

- 선택 정렬 알고리즘도 시간 복잡도는 O(N^2)이지만, 버블 정렬 알고리즘 수행시간이 더 오래 걸린다. 

=> 이유: 버블 정렬은 매 순간 숫자들의 위치를 이동시키기 때문이다. 선택 정렬은 전체 배열 훑은 다음에 가장 작은 값을 맨 앞에 위치시키는 연산 한번 할 뿐이다. 

 

 

코드 

반응형