본문 바로가기

Algorithm/Sort3

[Algorithm] 삽입 정렬 (Insertion Sort) 삽입 정렬은 해당 요소를 올바른 위치에 삽입하는 정렬 알고리즘입니다. 다음과 같은 순서로 이루어집니다. i번째 원소 선택 (i = 1, 2, 3...) i번째 앞 원소들을 비교하여 올바른 위치에 i번째 원소 값 삽입 위 과정을 배열 원소의 개수만큼 반복 [그림 1] 배열이 있다고 했을 때, 오름차순으로 삽입정렬을 해 보겠습니다. 1. i번째 원소 선택 (i = 1, 2, 3...) 차례대로 원소를 선택합니다. 맨 처음 원소는 선택해도 아무런 의미가 없으므로 두 번째 원소부터 선택합니다. tmp에 i번째 원소 값을 따로 저장하는 이유는, 삽입하는 과정에서 i번째 원소 값이 손실되기 때문입니다. 2. i번째 앞 원소들을 비교하여 올바른 위치에 i번째 원소 값 삽입 앞 원소와 값을 비교합니다. [그림 3]에서.. 2023. 1. 18.
[Algorithm] 버블 정렬 (Bubble Sort) 버블 정렬은 인접한 원소를 비교하여 정렬하는 정렬 알고리즘입니다. 이 모습이 거품 같다고 해서 버블 정렬이라는 이름이 붙었습니다. 다음과 같은 순서로 이루어집니다. n번째와 n+1번째 원소 비교 n+1이 끝에 도달할 때 까지 비교 위 과정을 배열 원소의 개수만큼 반복 [그림 1] 배열이 있다고 했을 때, 오름차순으로 버블정렬을 해 보겠습니다. 1. n번째와 n+1번째 원소 비교 [그림 2]처럼 첫 번째부터 비교하면 됩니다. 두 번째 원소가 더 작기 때문에 서로 swap합니다. 이제 두 번째 원소, 세 번째 원소를 비교하면 됩니다. 끝나면 세 번째, 네 번째 비교, 또 끝나면 네 번째, 다섯 번째... 2. n+1이 끝까지 도달할 때 까지 반복 계속 비교를 하다 보니 제일 큰 숫자인 13이 맨 뒤로 갔습니.. 2023. 1. 17.
[Algorithm] 선택 정렬 (Selection Sort) 선택 정렬은 차례대로 하나의 값을 선택한 후 다른 값과 비교하여 정렬하는 정렬 알고리즘입니다. 다음과 같은 과정으로 이루어집니다. 기준 원소 선택 해당 원소 이후의 원소 값들과 비교 기준 원소가 마지막 원소까지 도달할 때 까지 반복 [그림 1]과 같은 배열이 있다고 했을 때, 오름차순으로 선택정렬을 해 보겠습니다. 1. 기준 원소 선택 기준 원소 선택은 차례대로 이루어집니다. 기준 원소는 i라고 하겠습니다. 우선 첫 번째 원소를 기준으로 잡고, 비교가 완료되면 두 번째, 세 번째... 2. 해당 원소 이후의 원소 값들과 비교 i 이후의 원소들을 비교합니다. [그림 3]에서 j 표시된 부분 하나하나 비교해주면 됩니다. i = 3일 경우에는 i보다 작은 j가 없으므로 넘어가겠습니다. 3. 기준 원소가 마지막.. 2023. 1. 16.