Ang pagbilang ng mga Uri ay isang mahusay na pag-uuri ng algorithm na ginagamit para sa pag-uuri ng mga integers sa loob ng isang espesipikong saklaw. Ito ay gumagana sa pamamagitan ng pagbibilang ng bilang ng mga paglitaw ng bawat halaga at pagkatapos ay pagtatantiya ng mga posisyon ng bawat elemento sa nai-uring hanay. Ang paraang ito ay partikular na kapaki-pakinabang kapag ang saklaw ng input data ay hindi malaki sa bilang ng mga elemento na itsura.

Kung Paano Gumagana ang Pagbilang sa Uri

Ang algorithm ay nagsisimula sa pamamagitan ng paglikha ng isang hanay ng bilang na nag-iimbak ng dalas ng bawat halaga sa input data. Pagkatapos ay modifies ang hanay na ito upang maglaman ng mga aktuwal na posisyon ng bawat elemento sa nauring output. Sa huli, ito ay nagtatayo ng nai-iisa na hanay sa pamamagitan ng paglalagay ng mga elemento sa kanilang tamang posisyon batay sa hanay ng mga konde.

Pagkalkula sa Halimbawa

Halimbawa ay mayroon tayong hanay: [4, 2, 8, 3, 1], Ang saklaw ng mga pamantayan ay mula 1 hanggang 8. Ang proseso ng pagbilang ay nagbubunga ng isang hanay:

[0, 1, 2, 2, 1, 0, 0, 0, 1]

Ipinahihiwatig nito ang dalas ng bawat numero. Pagkatapos ay ibinibilang ng algorithm ang pinagsama - samang mga bagay upang alamin ang mga posisyon:

[0, 1, 3, 5, 6, 6, 6, 7]

Sa paggamit nito, ang ibinukod na hanay ay nagiging: [1, 2, 3, 4, 8].

Mga Tanawin sa Pagkakapit

Ang pagbilang ng Uri ay angkop para sa mga senaryo kung saan ang input data ay binubuo ng mga integers sa loob ng isang alam at limitadong range. Ito ay madalas na ginagamit sa:

  • Paghahati ng mga marka ng mag-aaral (e.g., 0-100)
  • Pag - oorganisa ng mga impormasyon sa frequency analysis
  • Pag - uuri sa maliliit na integer sa mga sistemang nakabaon
  • Pag - iihaw ng radix na parang subroutine

Ang kahusayan nito ay depende sa sukat ng range na may kaugnayan sa bilang ng mga elemento. Kapag ang range ay maliit, ang pagbibilang ng Uri ay maaaring lumampas sa adfacting kumpara-based algorithms tulad ng agarang pag-iindorso o pagsasanib.