[알고리즘] 버블정렬

2021. 10. 12. 21:44알고리즘/개념 정리

728x90

 

다음과 같은 5개의 데이터를 버블정렬로 정렬할 때의 순서입니다.

 

 

선택정렬의 경우

 

(1)번지의 값을 기준으로 두고 (2)번지, (3)번지.....순으로

 

 

(1)→(2)

(1)→(3)

(1)→(4)

(1)→(5)

 

순으로 비교했지만

 

버블정렬의 경우

 

인접한 다음 번지의 값을 비교합니다.

 

(1)→(2)

(2)→(3)

(3)→(4)

(4)→(5)

 

를 비교해 정렬하는 형태입니다.

 

그렇기 때문에 1회전 시

 

 

순으로 진행되다 종료됩니다.

 

결국 1회전이 끝나면 마지막 번지에 제일 큰 값이 들어갑니다.

 

각 회전 마다 비교대상은 이렇습니다.

 

 

반복값을 표현하면

 

i = 1, 4, 1

 

j = 1, 5-i, 1

 

이 됩니다.

 

위와 같은 경우는 5개의 데이터로 한정된 경우지만

 

그렇지 않고 n값으로 설정됐을 때는 결국

 

i = 1, n-1, 1

 

j = 1, n-i, 1

 

이 됩니다.

 

순서도로 나타내면 이러한 형태입니다.