제목에서 알 수 있듯이 비 비교 정렬 알고리즘 만 기수 정렬입니까? 내 추측은 그렇습니다.radix는 비 비교 정렬 알고리즘 만 정렬합니까?
4
A
답변
6
아니요 - 계산 정렬 및 버킷 정렬도 있습니다. 자세한 내용은 Wikipedia article을 확인하십시오.
1
모든 세트는 비교를 사용하지 않고 정렬 할 수 있습니다.
과정은
- 당신이 관리 배열에 기록하는 처리 할 수있는 입력 도메인 M의 관리 가능한 크기를 결정합니다. 문자 (8 비트)의 경우 도메인은 0-255입니다.
- 은 입력을 순서대로 분할하여 배열에 넣습니다.
- 입력이 아직 완전히 고려되지 않은 즉 M의 모든 비트가 고려되지 않은 경우 반복하고 헹구십시오. 32 비트, M, 정수의 종류는 다음과 같이 수행 할 수 있습니다 예를 들어
: 첫 번째 8 비트, 넣어 (참조, 포인터 또는 무엇 당신의 LANG을 사용할 수있다)에서
- 찾습니다에서 8 비트 범위. 배열 [0-255]에 넣으면 이제 값의 대략적인 (야구장) 순서가 지정됩니다.
- 다음 8 비트를 살펴보고 유사한 배열에 넣고 첫 번째 순서에 대한 참조를 유지합니다. 다음 8x2 비트는 같은 방식으로 처리됩니다. 당신을 추출하려면 첫 번째 세트의 링크를 따르십시오.
기수 정렬은 숫자를 사용하며 2 개의 변형 (MSB에서 LSB)과 (LSB에서 MSB까지)가 있습니다.
계수의 종류는 계산의 혼합과 비교 종류를 참조 할 때
버킷 종류는 일반적으로 언급되는 첫 번째 단계를 사용합니다.
흥미롭게도 꽤 많은 사용 사례의 경우 비교 정렬이 짧습니다.
* 비 비교 * 란 무엇을 의미합니까? 버킷 당 하나 이상의 항목이 없다면 모든 종류가 * something *을 비교해야합니다. –
@Loadmaster : 이름은 약간 오도 된 것입니다. 즉, 요소를 원자 적으로 비교하지 않는 정렬을 의미합니다. – reavowed
스파게티 정렬 (적절한 하드웨어를 사용할 수있는 경우) ... –