대학강의정리/22.1 it개론

선택 정렬, 삽입 정렬, 버블 정렬

피스타0204 2022. 5. 10. 22:18

1. 선택정렬

선택정렬은 가장 왼쪽값을 min으로 저장하고 min의 다음에 있는 모든 값과 비교합니다.

왼쪽부터 정렬됩니다.

-->

inner loop

1 2 3 4 5    1 2 3 4 5 . . .

1과 2 비교           2와 3 비교

1과 3 비교           2와 4 비교

1과 4 비교           2와 5 비교

1과 5 비교

 

outer loop 

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

 

정렬된(최종위치가 확정된) 값들은 노란색으로 표시했다.


2. 버블정렬

버블 정렬은 두 값을 비교해서 큰 숫자를 오른쪽으로 보냅니다.

오른쪽부터 정렬됩니다.

 

inner loop

1 2 3 4 5

2 3 4 5

1 2 3 4 5

1 2 3 4 5

 

outer loop 

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

2 3 4 5

1 2 3 4 5


3. 삽입정렬

정렬 중 최종 위치가 확정되는 버블 정렬과 선택 정렬과는 달리

삽입정렬은 정렬이 완료되지 않으면 어떠한 요소의 최종 위치도 결정되지 않습니다.

 

<--

loop

1 2 3 4 5    2 1 3 4 5 . . .

1 1 3 4 5    2 1 1 4 5

2 1 3 4 5    2 3 1 4 5

                2 2 1 4 5

                3 2 1 4 5

정렬할 값 하나를 정한다. 

그 값을 기준으로 왼쪽값이 작으면 왼쪽값을 정렬할 값의 위치에 저장한다.

저장해놓은 정렬할 값을 왼쪽값 자리에 저장한다.