시간 복잡도2 퀵 정렬이란? 1. 퀵 정렬 1-1. 퀵 정렬이란? 1-2. 예시 1-3. 소스코드 1-4. 퀵 정렬의 시간 복잡도 1-5. 퀵 정렬은 얼마나 빠를까? 1. 퀵 정렬 1-1. 퀵 정렬이란? 이름값 하는 정렬 방법이다. 평균적으로 꽤나 빠른 속도를 보여준다. 여기서 평균적으로라고 한 이유는 [목차 1-4]에서 설명할 예정이다. 아무튼 이렇게 빠르게 정렬할 수 있는 이유는 분할 정복 방법을 사용했기 때문이다. 분할 정복 방법이란 큰 문제를 작은 문제로 쪼개어 문제를 해결하는 방식이다. 한 번에 먹기에 너무 큰 음식이 있으면 잘라먹듯이 한 번에 들기에 너무 무거운 짐이 있으면 나눠 들듯이 큰 문제를 해결하기 쉬운 작은 문제로 쪼개자는 것이다. 퀵 정렬은 이 개념을 도입한 방법인데 어떻게 정렬되는 건지 다음 목차에서 알아보자.. 2021. 5. 27. 선택 정렬이란? 1. 선택 정렬 1-1. 선택 정렬이란? 1-2. 움짤로 보는 예시 1-3. 글로 보는 예시 1-4. 소스코드 1-5. 선택 정렬의 시간 복잡도 1. 선택 정렬 1-1. 선택 정렬이란? 정렬 방법 중 가장 느린 것은 버블 정렬. 그리고 그다음으로 느린 방법이 바로 선택 정렬이다. 버블 정렬과 마찬가지로 구현이 단순하며 메모리 공간을 추가로 필요로 하지 않는다. 버블 정렬은 자리 바꿈(swap)이 자주 일어나지만 선택 정렬은 평균적으로 그 횟수가 더 적기 때문에 버블 정렬보다 선택 정렬이 항상 더 나은 효율을 보여준다. 움짤을 통해 어떻게 하는 정렬 방법인지 알아보도록 하자. 1-2. 움짤로 보는 예시 숫자들 중 가장 작은 값을 선택해서 맨 왼쪽에 있는 값과 교환하는 것이 기본적인 개념이다. 가장 작은 값.. 2021. 5. 12. 이전 1 다음