알고리즘 4주 과정 중, 벌써 3주차가 끝이 났다. 이번 주차는 정렬과 함께한 주차였다. 버블 정렬, 선택 정렬, 삽입 정렬, 퀵 정렬, 병합 정렬, 그리고 힙 정렬까지 배웠다. 힙은 이번 주차 처음에 배웠던 힙 자료구조를 이용한 sort 방법이다. 각각의 정렬 방법들은 각기 다른 접근 방법을 통해 구현하였고, 이에 따라 서로 다른 시간 복잡도를 보인다. 여기서도 하나 개인적으로 특이하다고 느낀 점은, 같은 알고리즘으로 구현된 코드라고 할지라도, 최선의 경우와 최악의 경우에 따라서 그 시간 복잡도가 달라지는 것이었다. 버블 정렬의 경우, 모든 숫자 각각에 대하여, 그 외의 숫자들과 비교하여 제 자리를 찾아주는 식으로 접근하였다. 앞과 뒤를 비교하여 앞이 뒤보다 뒤에 있어야 하는 경우, 앞과 뒤의 위치를 ..