코딩테스트를 위한 자료구조 알고리즘

정렬 알고리즘 비교

테오구 2021. 10. 26. 18:47
728x90
정렬 알고리즘 평균 시간 복잡도 공간 복잡도 특징
선택 정렬 O(N^2) O(N) 아이디어가 매우 간단
삽입 정렬 O(N^2) O(N) 데이터가 거의 정렬되어 있을 때는 가장 빠름
퀵 정렬 O(NlogN) O(N) 대부분의 경우에 가장 적합하며, 충분히 빠릅니다.
계수 정렬 O(N + K) O(N + K) 데이터의 크기가 한정되어 있는 경우에만 사용이 가능 하지만 매우 빠르게 동작

 

 

N, K = map(int, input().split()) # 5 3
a = list(map(int, input().split())) # 1 2 5 4 3
b = list(map(int, input().split())) # 5 5 6 6 5
for i in range(K):
  if a[i] < b[i]:
    a[i], b[i] = b[i], a[i]
  else:
      break
print(sum(a))
728x90

'코딩테스트를 위한 자료구조 알고리즘' 카테고리의 다른 글

다이나믹 프로그래밍  (0) 2021.10.28
이진 탐색(Binary Search)  (0) 2021.10.26
계수 정렬  (0) 2021.10.26
퀵 정렬  (0) 2021.10.26
삽입 정렬 알고리즘  (0) 2021.10.26