만약 우리가 숫자 리스트를 가지고 있다면 우리는 log n 비트 가 필요하다엔로그엔
아니요 : 과 2 k - 1 사이의 숫자 목록이 있으면 k 비트 가 필요합니다 . k 와 log n 사이 에는 일반적으로 관계가 없습니다 .02케이− 1케이케이로그엔
숫자가 모두 고유 한 경우 이고 고유 한 숫자의 기수 정렬은 시간 복잡도가 Ω ( n log n ) 입니다. 일반적으로 기수 정렬의 복잡성은 Θ ( n로그n ≥ kΩ ( n 로그n ) 여기서 N 정렬에 요소의 개수 (K)는 각 요소의 비트 수이다.Θ ( nk )엔케이
기수 정렬의 복잡성이 말하면 숫자에 대해 고정 비트 크기를 취하는 것을 의미합니다. 이것은 충분히 큰 n 에 대해 많은 중복 값 이 있음을 의미 합니다.O ( n )엔
최악의 경우 한 번에 두 요소를 비교하여 작동하는 배열 또는 목록 정렬 방법이 보다 더 빠르게 실행될 수 없다는 일반적인 정리가 있습니다 . 기수 정렬은 요소를 비교하여 작동하지 않지만 동일한 증명 방법이 작동합니다. 기수 정렬은 배열에 적용 할 순열을 결정하는 결정 프로세스입니다. 가 N ! 배열의 순열 및 기수 정렬은 이진 결정을 취합니다. 즉, 각 단계에서 두 요소를 교체할지 여부를 결정합니다. m 이진 결정 후 기수 정렬은 2 m 순열 중에서 결정할 수 있습니다 . n에 도달하려면 ! 가능한 순열은 다음과 같습니다.Θ ( n 로그n )아니 !엠2엠n! .m≥log(n!)=Θ(nlogn)
위에서 언급하지 않은 증거의 가정은 요소가 다른 경우 알고리즘이 작동해야한다는 것입니다. 원소들이 모두 구별되지 않는다는 것이 선험적으로 알려진 경우, 잠재적 순열의 수는 전체 보다 작습니다 ! . k 비트 숫자를 정렬 할 때 n ≤ 2 k 일 때 n 개의 개별 요소 를 가질 수 있습니다 . 이 경우 기수 정렬의 복잡성은 실제로 Ω ( n log n ) 입니다. 더 큰 n 값의 경우 기수 정렬이 Θ 보다 작은 복잡도를 갖는 방법을 설명하는 충돌이 있어야합니다 (n!knn≤2kΩ(nlogn)nN > 2 케이 .Θ(nlogn)n>2k