비교 정렬
이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다. 나는 이것이 내가 할 수있는 최선의 방법이라고 생각한다.2014-07-20 00:00:00-00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00)\오른쪽} | 최소 | |
---|---|---|
1 | 0 | 0 |
2 | 1 | 1 |
3 | 3 | 3 |
4 | 5 | 5 |
5 | 7 | 7 |
6 | 10 | 10 |
7 | 13 | 13 |
8 | 16 | 16 |
9 | 19 | 19 |
10 | 22 | 22 |
11 | 26 | 26 |
12 | 29 | 30 |
13 | 33 | 34 |
14 | 37 | 38 |
15 | 41 | 42 |
16 | 45 | 45 또는 46 |
17 | 49 | 49 또는 50 |
18 | 53 | 53 또는 54 |
19 | 57 | 58 |
20 | 62 | 62 |
21 | 66 | 66 |
22 | 70 | 71 |
이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다. 나는 이것이 내가 할 수있는 최선의 방법이라고 생각한다.2014-07-20 00:00:00-00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00)\오른쪽} | 2018 년 10 월 15 일~2018 년 10 월 15 일 2}}} | |
10 | 22 | 19 |
100 | 525 | 521 |
1 000 | 8 530 | 8 524 |
10 000 | 118 459 | 118 451 |
100 000 | 1 516 705 | 1 516 695 |
1 000 000 | 18 488 885 | 18 488 874 |
.
비교 정렬 알고리즘이 요구하는 비교의 수는 엔 로그에 비례하여 증가합니다.)}
정렬할 요소의 수입니다. 이 바인딩은 점근 적으로 단단합니다.
고유 숫자의 목록이 주어지면(최악의 경우 분석이기 때문에 이것을 가정 할 수 있음),계승 순열이 정확히 그 중 하나가 정렬 된 순서의 목록입니다. 정렬 알고리즘은 올바른 순열을 식별하기 위해 비교에서 충분한 정보를 얻어야 합니다. 키가 구별되고 각 비교에는 두 가지 가능한 결과 만 있기 때문에 알고리즘이 항상 완료된 후 에프(엔)단계,2 개 이상을 구별 할 수 없습니다 에프(엔)케이스. 따라서,
2 에프(엔)2 에프(엔)2 엔! 2018 년 10 월 15 일-2018 년 10 월 15 일}
은 115>
을 의미합니다. ) . 2018 년 11 월 1 일). 2018-09-28 오전 11:00:00).
첫 번째 엔/2 를 보면서/2}
요인 엔! 100,000,000,000,000,000,000,000,000=엔(엔-1)1}
로그 2(엔! 이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다. [2][2][2][2][2][2][2][2][2][2][2]100000000000 2019-09-28 오전 11:00:00100000000000}
이는 클레임의 하한 부분을 제공합니다. 더 나은 바인딩은 스털링의 근사치를 통해 제공 할 수 있습니다.
동일한 상한은 힙 정렬 및 병합 정렬과 같은 최악의 경우에이 바인딩을 달성하는 알고리즘의 존재에서 비롯됩니다.
위의 인수는 비교의 수에 대한 점근 적 하한이 아닌 절대 값을 제공합니다. 나는 이것이 내가 할 수있는 최선의 방법이라고 생각한다.)\오른쪽}
, 그러나 13 개의 요소를 정렬하는 비교의 최소 수는 34 로 입증되었습니다.
주어진 수의 항목을 정렬하는 데 필요한 정확한 비교 수를 결정하는 것은 작은 경우에도 계산 상 어려운 문제이며 솔루션에 대한 간단한 공식은 알려져 있지 않습니다. 계산 된 몇 가지 구체적인 값 중 일부는 다음을 참조하십시오.
평균 비교 수에 대한 하한편집
비슷한 바인딩이 평균 비교 수에 적용됩니다. 즉,모든 비교는>비 또는<비,그리고
입력이 로그 2 보다 적은 순서를 결정하는 것은 불가능합니다(엔!)평균 비교.
이것은 정보 이론의 개념을 사용하여 가장 쉽게 볼 수 있습니다. 이러한 무작위 순열의 섀넌 엔트로피는 로그 2(엔!)비트. 비교는 두 가지 결과 만 제공 할 수 있기 때문에 제공하는 정보의 최대 양은 1 비트입니다. 따라서 케이 비교 순열의 나머지 엔트로피,이러한 비교의 결과를 감안할 때 적어도 로그 2(엔!)-케이 평균 비트. 정렬을 수행하려면 완전한 정보가 필요하므로 나머지 엔트로피는 0 이어야 합니다. 그것은 다음과 같습니다 케이 적어도 있어야합니다 로그 2(엔!)평균.
정보 이론을 통해 파생 된 하한은’정보 이론적 하한’으로 표현된다. 정보 이론적 하한은 정확하지만 반드시 가장 강한 하한은 아닙니다. 그리고 어떤 경우에는 문제의 정보 이론적 하한값이 실제 하한값과 멀리 떨어져 있을 수도 있다. 예를 들어,선택의 정보 이론적 하한값은 다음과 같습니다.}
비교는 적대적 인수에 의해 필요합니다. 정보 이론적 하한과 실제 하한 사이의 상호 작용은 정수 함수를 하한하는 실제 값 함수와 훨씬 비슷합니다. 그러나 이는 평균 사례를 고려할 때 정확히 정확하지 않습니다.
평균 사례를 분석하는 동안 어떤 일이 발생하는지 파악한 다음,’평균’은 무엇을 의미하는가? 무엇을 통해 평균? 정보 이론에 대한 지식이 있으면 정보 이론적 하한값은 전체 순열 집합에 대한 평균입니다. 그러나 모든 컴퓨터 알고리즘(현재 믿어지는 것)은 각 순열을 문제의 개별 인스턴스로 취급해야합니다. 따라서 우리가 검색하는 평균 하한은 모든 개별 사례에 대해 평균화됩니다.
컴퓨터의 비 달성 가능성에 관한 하한을 검색하기 위해 의사 결정 트리 모델을 채택합니다. 우리의 목표가 무엇인지 조금 바꿔 봅시다. 의사 결정 트리 모델에서 표시할 하한은 루트-리프 경로의 평균 길이의 하한값입니다. 디스플레이 스타일!}
-리프 이진 트리(각 리프가 순열에 해당). 균형 잡힌 전체 이진 트리가 평균 길이의 최소값을 달성한다고 말할 수 있습니다. 몇 가지 신중한 계산으로 균형 잡힌 전체 이진 트리에 대해 엔! 디스플레이 스타일!}
잎,루트-투-리프 경로의 평균 길이는(2 엔! −2⌊로그인 2n! ⌋+1)⋅⌈로그인 2n! 나는 이것이 내가 할 수있는 최선의 방법이라고 생각합니다. 나는 이것이 내가 할 수있는 최선의 방법이라고 생각한다. )⋅⌊로그인 2n! ⌋n! 디스플레이 스타일-2^{\바닥\로그_{2}엔!이 문제를 해결하려면 다음을 수행하십시오.2018 년 10 월 15 일(토)~2018 년 10 월 15 일(일)100000000000(2018-10-15)(2018 년 12 월 15 일)}}}
예를 들어 엔=3,평균 사례에 대한 정보 이론적 하한은 약 2.58 이고,의사 결정 트리 모델을 통해 파생 된 평균 하한은 약 2.67 인 8/3 입니다.
여러 항목이 동일한 키를 가질 수있는 경우”평균 사례”라는 용어에 대한 명백한 통계적 해석이 없으므로 키 분포에 대한 구체적인 가정 없이는 위와 같은 주장을 적용 할 수 없습니다.