본문/내용
1. 과제 설명 및 사용 알고리즘 설명
선택정렬과 버블정렬은 두 가지 대표적인 정렬 알고리즘으로, 비교 기반의 정렬 방법에 속한다. 이 알고리즘들은 단순하고 직관적으로 이해할 수 있지만, 시간 복잡도가 비효율적이라는 단점이 있다. 선택정렬은 리스트에서 가장 작은 요소를 찾아서 맨 앞의 요소와 교환하는 방식으로 작동한다. 초기 배열을 주어진 리스트라고 할 때, 첫 번째 단계에서 리스트에서 가장 작은 값을 찾고, 그것을 첫 번째 요소와 교환한다. 다음으로 두 번째 요소에서 시작하여 그 이하의 요소들 중가장 작은 값을 찾아서 두 번째 요소와 교환하고, 이 과정을 반복하여 리스트가 정렬되는 방식이다. 선택정렬의 시간 복잡도는 O(n^로, 최악과 최선의 경우 모두 동일하다. 이는 리스트의 길이에 따라 수행되는 반복 횟수가 제곱으로 증가하기 때문에 발생하는 성질이다. 선택정렬은 메모리 사용에서 이점이 있어 추가적인 공간을 필요로 하지 않는다. 반면 버블정렬은 리스트에서 인접한 두 요소를 비교하고, 그 순서가 틀리다면 교환하여 정렬하는 방식이다. 배열을 처리하면서 가장 큰 요소가 리스트의 뒤로 `버블`처럼 떠오르는 동작을 반복한다. 첫 …