번호 그룹에 기수 정렬 뒤에 일반적인 생각은 몇 개의베이스 (B)의 수를 작성하는 것입니다, 다음 번에 숫자를 하나의 기본-B 숫자를 처리합니다. base-10 기수 정렬에 익숙하다면 알고리즘을 다른 기반에서 작동하도록 조정하는 것이 너무 많은 작업이 아닙니다.
예를 들어, 기수 2 (기수) 기수 정렬을 원한다고 가정 해 봅시다. 이 경우 2 진수 (2 진수)로 숫자를 씁니다. 10 개의 양동이가있는 대신 두 개의 양동이가 있습니다. 한 번에 하나씩 숫자의 숫자를 보는 대신 숫자의 비트를 한 번에 하나씩 살펴볼 것입니다. 그 이외의 알고리즘은 기본적으로 base-10과 같습니다.
숫자를 8 비트 그룹으로 나눌 때, 숫자를 기본 256으로 쓰는 것으로 생각할 수 있습니다. 이유는 무엇입니까? 비유로 추론하기 위해, 10 진수 기수 (10 개 기수)를 사용하고 10 기의 버킷 대신 100 개의 버킷을 사용한다고 가정합니다. 그런 다음 한 번에 하나씩 숫자를 처리하는 대신 한 번에 두 자리를 처리합니다. 이것은 여전히 올바르게 작동합니다 (나는 그 이유를 알기를 희망합니다!). 이 과정은베이스 100 기수 정렬을 사용하는 것과 완전히 동일합니다. 인접한 기수 10 자리를 그룹화하여 기본 100 자리를 만듭니다. 숫자를 3 개로 그룹화하면 또 다른 예로 기본 1000 기수 정렬이 제공됩니다. 자 이제 바이너리로 돌아가 봅시다. 각 비트는 2 진수입니다. 2 비트 그룹은 4 진수로 생각할 수 있습니다. 4 비트의 그룹은 16 진수로 간주 될 수 있으므로 8 비트 그룹은 256 진수로 구성됩니다.
귀하의 질문에 대답하기 위해 각각 8 비트 단위로 기수 10 기수 정렬 기수 정렬을 변환하는 방법은 기수 256 기수 정렬로 무엇을하는지 생각한 다음 그에 따라 알고리즘을 구현하는 것입니다 .
예, 간단한 예제 덕분에 그것을 이해했습니다 :-). 나는 그것의 뒤에 수학이 어떻게 작동하는지 이해하고 싶다. 방금 비교 기반 정렬 알고리즘 중 일부를 이해했습니다. 나중에 구현을 시도 할 것입니다. –
기수 정렬은 기본적으로 * 단위, 수십, 수백 * 위치 –
-1을 기준으로 숫자에 반복적으로 적용되는 정렬 계산 방식입니다. 주석이어야합니다. 여기에는 두 가지 종류에 관한 실제 정보가 포함되어 있지 않으며 설명에 대한 설명 링크 만 포함되어 있습니다. 아직 설명하지 않은 기수를 세는 것에서부터 사소한 단계가 있습니다.비디오가 미래에 언젠가는 사라지는 것이 불가능하지 않기 때문에, 적어도 링크에서 귀하의 답변에 필수 요소를 복사하는 것이 예상됩니다. – KillianDS