Ali je algoritem razvrščanja po vedru na mestu?
Ali je algoritem razvrščanja po vedru na mestu?

Video: Ali je algoritem razvrščanja po vedru na mestu?

Video: Ali je algoritem razvrščanja po vedru na mestu?
Video: David Hand: Ai, Dark Data, LLMs, Peer Review 2024, April
Anonim

Ne, to ni in- mesto razvrščanje algoritem . Celotna ideja je ta vložek vrste sami, ko so preseljeni v vedra . V najslabših dobrih primerih (zaporedne vrednosti, vendar brez ponavljanja) je potreben dodaten prostor tako velik kot prvotni niz.

Kateri algoritmi razvrščanja so na ta način?

Kot drug primer številni algoritmi za razvrščanje prerazporedijo matrike v razvrščeni vrstni red na mestu, vključno z: mehurčkasta sorta , razvrščanje z glavnikom, sortiranje po izboru, vstavljanje razvrščanja , Heapsort in Shell sort. Ti algoritmi zahtevajo le nekaj kazalcev, zato je njihova prostorska kompleksnost O(log n). Quicksort deluje na mestu s podatki, ki jih je treba razvrstiti.

Kasneje se postavlja vprašanje, kako deluje algoritem za razvrščanje v vedro? Razvrstitev v vedro , oz bin sort , je algoritem razvrščanja to deluje z razdelitvijo elementov matrike v število vedra . Vsak vedro je potem razvrščeno posamezno, bodisi z uporabo drugega algoritem razvrščanja , ali z rekurzivno uporabo algoritem razvrščanja žlice . Nastavite niz sprva praznih " vedra ".

V skladu s tem, kako implementirate algoritem razvrščanja po vedru?

  1. Recimo, da je vhodni niz: Ustvarite matriko velikosti 10.
  2. Vstavite elemente v vedra iz matrike. Elementi so vstavljeni glede na obseg žlice.
  3. Elementi vsakega vedra so razvrščeni s katerim koli od stabilnih algoritmov razvrščanja.
  4. Elementi iz vsakega vedra so zbrani.

Kje se uporablja sortiranje z vedrom?

Razvrstitev v vedro je uporabno predvsem, če je vhod enakomerno porazdeljen po območju. Upoštevajte na primer naslednjo težavo. Razvrsti velik nabor števil s plavajočo vejico, ki so v območju od 0,0 do 1,0 in so enakomerno porazdeljena po območju.

Priporočena: