>  기사  >  기수 정렬의 용도는 무엇입니까?

기수 정렬의 용도는 무엇입니까?

藏色散人
藏色散人원래의
2020-07-02 09:37:002897검색

기수 정렬은 "분산 정렬"입니다. 기수 정렬은 정렬 효과를 얻기 위해 특정 "버킷"에 정렬할 요소를 할당하기 위해 키 값 정보의 일부를 사용합니다. 전체 중량을 알 수 없어 정렬할 수 없습니다.

기수 정렬의 용도는 무엇입니까?

Radix 정렬은 "버킷 정렬" 또는 bin 정렬이라고도 하는 "분포 정렬"입니다. 이름에서 알 수 있듯이 키 값 정보의 일부를 사용하여 특정 항목으로 정렬할 요소를 할당합니다. 기수 정렬 방법은 안정적인 정렬이며 시간 복잡도는 O(nlog(r)m)입니다. 여기서 r은 기수 번호이고 m은 힙 번호입니다. 어떤 경우에는 기수 정렬 방법이 다른 안정성 정렬 방법보다 더 효율적입니다.

기수 정렬은 전체 가중치를 알 수 없는 시간, 문자열 등의 데이터를 정렬하는 데 적합합니다.

구현 방법

MSD 방법이라고 하는 가장 중요한 숫자 우선 방법: 먼저 그룹을 k1로 정렬하고 동일한 그룹에 기록하고 키 코드 k1이 동일한 다음 각 그룹을 k2로 정렬하고 나눕니다. 그것을 하위 그룹으로 나눈 후, 각 하위 그룹이 가장 낮은 키 코드 kd에 따라 정렬될 때까지 후속 키 코드의 정렬 및 그룹화를 계속합니다. 그런 다음 그룹을 연결하여 순서가 지정된 순서를 얻습니다.

LSD 방법이라고 하는 최하위 숫자 우선 방법: kd에서 정렬을 시작한 다음 kd-1을 정렬하고 k1이 정렬되어 정렬된 시퀀스를 얻을 때까지 순서대로 반복합니다.

위 내용은 기수 정렬의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.