정렬 2

[SWEA]파이썬 SW문제해결 기본 - LIST 1 : Sort(정렬)-카운팅 정렬

파이썬 SW문제해결 기본 - LIST 1 05 Sort(정렬)-카운팅 정렬 이번 글은 지난 글(버블 정렬)과 이어지는 글이다. 아래 링크에서 이전 글을 먼저 확인하기를 권장한다. [SWEA]파이썬 SW문제해결 기본 - LIST 1 : Sort(정렬)-버블 정렬 05. Sort ③ 카운팅 정렬 ▣카운팅 정렬 - 항목들의 순서를 결정하기 위해 집합에 각 항목이 몇 개씩 있는지 세는 작업을 하여, 선형 시간(O(n+k)에 정렬하는 효율적인 알고리즘이다. - 시간 복잡도 = O(n+k) : n은 리스트의 크기, k는 정수의 최대값 - 정수나 정수로 표현할 수 있는 자료에 대해서만 적용 가능하다. 각 항목의 발생 회수를 기록하기 위해, 정수 항목으로 인덱스되는 카운트들의 리스트를 사용하기 때문이다. - 카운트들을..

[SWEA]파이썬 SW문제해결 기본 - LIST 1 : Sort(정렬)-버블 정렬

파이썬 SW문제해결 기본 - LIST 1 05 Sort(정렬)-버블 정렬 05. Sort ① 정렬 개요 ▣ 정렬(Sort)이란? - 2개 이상의 자료를 특정 기준에 따라 순서대로 재배열하는 것이다. - 작은 값부터 큰 값 : 오름차순(ascending) - 큰 값부터 작은 값 : 내림차순(descending) ▣ 대표적인 정렬 방식의 종류 - 버블 정렬 : 인접한 두 원소를 검사하여 정렬하는 방법이다. (최악: O(n^2) / 평균: O(n^2)) - 카운팅 정렬 : 각 항목의 개수를 센(Counting) 후에 정렬하는 방법이다. (최악: O(n+k) / 평균: O(n+k)) - 선택 정렬 : 최솟값을 찾아 정렬되지 않은 맨 앞의 값과 교체하는 방법이다. (최악: O(n^2) / 평균: O(n^2)) -..