bogobogosort라는 종류가 있습니다. 먼저, 처음 2 개의 요소를 확인하여보고합니다. 다음으로 처음 3 개를 확인하고보고 정렬합니다.
목록이 언제라도 순서가 맞지 않으면 처음 2 개를 다시 분류하여 다시 시작합니다. 일반 bogosort의 평균 복잡도는 O(N!)
이 알고리즘의 평균 복잡도는O(N!1!2!3!...N!)
편집 : 당신이 숫자가,이 얼마나 큰 아이디어 부여하려면 20
요소,이 알고리즘의 평균 소요 3.930093*10^158
년 의 (그런 일 경우)도 우주의 제안 열 사망 위를, 10^100
년 ,
반면, 병합 정렬은 약 .0000004
초 , 버블 정렬 .0000016
초 , 그리고 bogosort는 연도가 365.242 일이고 컴퓨터가 초당 250,000,000 개의 32 비트 정수 연산을 수행한다고 가정하면 몇 308
년 , 139
일 , 19
시간 , 35
분 , 22.306
초가 소요 됩니다.
Edit2 :이 알고리즘은 "알고리즘"기적 정렬만큼 느리지는 않습니다. 아마도이 정렬과 같이 20 개의 elemtnt를 성공적으로 정렬하기 전에 컴퓨터가 블랙홀에 빨려 들어가게됩니다. 의 2^(32(the number of bits in a 32 bit integer)*N)(the number of elements)*(a number <=10^40)
년 ,
중력은 칩 알파 이동 속도를 높이고 2 ^ N 상태, 즉 2^640*10^40
약 5.783*10^216.762162762
몇 년 이 있기 때문에 목록이 정렬되기 시작하면 복잡도는 O(N)
병합 정렬보다 빠르며 N 로그 N조차도 빠릅니다. 최악의 경우.
EDIT3 : 내 알고리즘의 실행 시간이 것 때문에 크기가 매우 커질 1000 말한대로이 알고리즘은 실제로 느린 기적 정렬보다 2.83*10^1175546
년을 기적 정렬 알고리즘의 실행 시간 것 동안, 1.156*10^9657
년 .