이 게시물에서는 버블 정렬과 선택 정렬의 차이점을 이해할 것입니다.
버블 정렬
-
간단한 정렬 알고리즘입니다.
-
목록을 반복하고 인접한 요소 쌍을 비교하여 정렬합니다.
-
인접한 요소를 기반으로 스왑이 이루어집니다.
-
선택 정렬에 비해 효율적입니다.
-
선택 정렬에 비해 느립니다.
-
아이템 교환을 사용하여 요소를 교환합니다.
-
모든 요소가 올바른 순서가 될 때까지 요소가 반복적으로 교체됩니다.
다음은 버블 정렬 알고리즘입니다.
알고리즘
begin BubbleSort(list) for all elements of list if list[i] > list[i+1] swap(list[i], list[i+1]) end if end for return list end BubbleSort
선택 정렬
-
먼저 목록에서 최소값 또는 최대값을 얻습니다.
-
목록은 오름차순 또는 내림차순으로 정렬됩니다.
-
정렬되지 않은 하위 배열에서 최소 또는 최대 요소를 선택하여 정렬된 하위 배열의 다음 위치에 넣습니다.
-
불안정한 정렬 알고리즘으로 간주됩니다.
-
모든 경우의 시간 복잡도는 O(n 제곱)입니다.
-
삽입 정렬에 비해 효율성이 떨어집니다.
-
반복하는 동안 수행된 비교 횟수는 수행된 요소 스와핑보다 많습니다.
-
목록에 있는 모든 요소의 위치는 이전에 알려져 있습니다.
-
즉, 사용자는 특정 위치에 삽입해야 하는 요소만 검색합니다.
-
버블 정렬에 비해 효율적입니다.
-
버블정렬에 비해 빠릅니다.
-
아이템 선택을 사용합니다.
다음은 선택 정렬 알고리즘입니다.
알고리즘
Step 1 - Set MIN to location 0 Step 2 - Search the minimum element in the list Step 3 - Swap with value at location MIN Step 4 - Increment MIN to point to next element Step 5 - Repeat until list is sorted