2개 이상의 자료를 특정 기준에 의해 작은 값부터 큰 값, 혹은 그 반대의 순서대로 재배열하는 것
키
대표적인 정렬 방식의 종류
버블 정렬
def BubbleSort(a, N) : # 정렬할 List, N 원소수
for i in range(N-1,0,-1): # 범위의 끝 위치
for j in range(0, i): # 비교할 왼쪽 원소
if a[j] > a[j+1]:
a[j],a[j+1] = a[j+1],a[j]카운팅 정렬
항목들의 순서를 경정하기 위해 집합에 각 항목이 몇 개씩 있는지 세는 작업을 하여, 선형 시간에 정렬하는 효율적인 알고리즘
제한사항
시간 복잡도
def Counting_sort(data, temp, k)
# data[] -- 입력 배열
# temp[] -- 정렬된 배열
# counts[] -- 카운트 배열
counts = [0] * (k+1)
for i in range(0, len(data)):
counts[data[i]] += 1
for i in range(1, k+1):
counts[i] += counts[i-1]
for i in range(len(temp)-1, -1, -1):
counts[data[i]] -= 1
temp[counts[data[i]]] = data[i]