컴퓨터알고리즘#10

LeeMir, 14 April 2021

정렬 일반


비교정렬의 하한
  • 비교정렬
    • 비교에 기초한 정렬
    • 개체 쌍을 비교함으로써 정렬
    • 예 : 버블 / 선택 / 삽입 / 힙 / 합병 / 퀵
  • 어떤 비교정렬 알고리즘도 최소 log(n!) 시간을 소요
    • log(n!) >= log(n/2)^(n/2) = (n/2) log (n/2)
    • 그러므로 어떤 비교정렬 알고리즘이라도 Ω(n log n) 시간에 수행
정렬의 안정성
  • 키-원소 항목들을 정렬할 때 중요한 이슈는 동일 키가 어떻게 처리되느냐는 것
  • 두 개의 항목 (Ki, Ei)와 (Kj, Ej)에 대해
    • Ki = Kj며 정렬 전에 Ki가 Kj보다 앞서 있었고
    • 정렬 후에도 Ki가 앞서있다면 그 정렬은 안정성이 있는 정렬이라고 할 수 있음