Vai ir ieviests kausa kārtošanas algoritms?
Vai ir ieviests kausa kārtošanas algoritms?

Video: Vai ir ieviests kausa kārtošanas algoritms?

Video: Vai ir ieviests kausa kārtošanas algoritms?
Video: CS50 2013 - Week 3, continued 2024, Decembris
Anonim

Nē, tas nav iekš- vieta šķirošana algoritms . Visa ideja ir šī ievade veidus paši, jo tie tiek pārvietoti uz spaiņus . Sliktākajos gadījumos (secīgas vērtības, bet bez atkārtošanās) nepieciešamā papildu vieta ir tikpat liela kā sākotnējais masīvs.

Kuri šķirošanas algoritmi ir ieviesti šādā veidā?

Kā vēl viens piemērs, daudzi šķirošanas algoritmi pārkārto masīvus sakārtotā secībā, tostarp: burbuļu kārtošana , ķemmes kārtošana, atlases kārtošana, ievietošanas kārtošana , heapsort un Shell kārtot. Šiem algoritmiem ir nepieciešami tikai daži rādītāji, tāpēc to telpas sarežģītība ir O(log n). Ātrā kārtošana darbojas uz vietas, izmantojot kārtojamos datus.

Pēc tam rodas jautājums, kā darbojas segmentu kārtošanas algoritms? Kausa šķirošana , vai tvertņu šķirošana , ir šķirošanas algoritms ka darbojas sadalot masīva elementus vairākos spaiņus . Katrs spainis ir tad sakārtoti individuāli, vai nu izmantojot citu šķirošanas algoritms , vai rekursīvi piemērojot kausu šķirošanas algoritms . Iestatiet sākotnēji tukšu "masīvu" spaiņus ".

Attiecīgi, kā ieviest segmentu kārtošanas algoritmu?

  1. Pieņemsim, ka ievades masīvs ir šāds: Izveidojiet 10 izmēra masīvu.
  2. Ievietojiet elementus spainīšos no masīva. Elementi tiek ievietoti atbilstoši kausa diapazonam.
  3. Katra kausa elementi tiek sakārtoti, izmantojot jebkuru no stabilajiem šķirošanas algoritmiem.
  4. Elementi no katra spaiņa tiek savākti.

Kur tiek izmantota kausa šķirošana?

Kausa šķirošana ir galvenokārt noderīga, ja ievade ir vienmērīgi sadalīta diapazonā. Piemēram, apsveriet šādu problēmu. Kārtot liela peldošā komata skaitļu kopa, kas ir diapazonā no 0,0 līdz 1,0 un ir vienmērīgi sadalīti visā diapazonā.

Ieteicams: