Table of Contents
알고리즘의 시간과 공간 복잡성을 이해하는 것은 효율성의 평가에 도움이 됩니다. Merge 종류와 빠른 정렬은 다른 성능 특성과 두 가지 인기있는 정렬 알고리즘입니다. 이 문서는 복잡한 요소를 계산하는 방법을 설명합니다.
Merge 분류 복잡성
Merge는 각 하위레이가 단일 요소가 포함될 때까지 반쪽으로 배열을 반복적으로 나눕니다. 이 반란한 프로세스는 정렬된 순서에 이러한 subarrays를 결합합니다.
병합 정렬의 시간 복잡성은 ]O(n log n)] 이며, 일관성있게 배열을 분할하고 효율적으로 합병하기 때문에 가장 좋은 평균, 최악의 경우입니다.
공간 복잡성은 O(n)]]가 합병 과정에서 임시 배열에 대한 필요성 때문에.
빠른 정렬 복잡성
빠른 정렬은 피벗 요소를 선택하고 피벗보다 더 적은 하위라이즈로 배열을 분할. 이 과정은 반복적으로 반복됩니다.
평균 시간 복잡성은 O(n log n)이지만 가장 작은 또는 최대 요소가 항상 피벗으로 선택될 때와 같은 최악의 경우, 그것은 O(n^2)]]로 분류됩니다.
빠른 정렬의 공간 복잡성은 일반적으로 ]O(log n)]이며, 반복적인 스택 공간으로 인해 구현에 따라 더 높을 수 있습니다.
회사 소개
- 메르지 종류 - 시간: O(n log n), 공간: ]O(n)
- 빠른 정렬 - 시간: Average O(n log n), Worst O(n^2), 공간: ]O(log n)]