1 / 29

Polifazno urejanje s predurejanjem v kopici

Polifazno urejanje s predurejanjem v kopici. Imamo zaporedje 5 3 0 1 0 5 1 2 9 3 4 2 3. Želimo naraščajoč vrstni red. Torej bomo delali min kopico, recimo s 3 elementi. 5 3 0 * 1 0 5 1 2 9 3 4 2 3 Damo prve tri elemente v kopico. 5 3 0 * 1 0 5 1 2 9 3 4 2 3 Jo izgradimo. Min heap!.

abrial
Download Presentation

Polifazno urejanje s predurejanjem v kopici

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Polifazno urejanje s predurejanjem v kopici Andrej Grah a.k.a. Burgola

  2. Imamo zaporedje 5 3 0 1 0 5 1 2 9 3 4 2 3. Želimo naraščajoč vrstni red. Torej bomo delali min kopico, recimo s 3 elementi. Andrej Grah a.k.a. Burgola

  3. 5 3 0 * 1 0 5 1 2 9 3 4 2 3 Damo prve tri elemente v kopico Andrej Grah a.k.a. Burgola

  4. 5 3 0 * 1 0 5 1 2 9 3 4 2 3 Jo izgradimo. Min heap! Andrej Grah a.k.a. Burgola

  5. 5 3 0 * 1 0 5 1 2 9 3 4 2 3 Koren(0lo) damo na izhodni trak. 0 Andrej Grah a.k.a. Burgola

  6. 5 3 0 * 1 0 5 1 2 9 3 4 2 3 Primerjamo element ki smo ga dali na izhod, z elementom na vhodu. Torej 0lo in 1ko. 0 Andrej Grah a.k.a. Burgola

  7. 5 3 0 * 1 0 5 1 2 9 3 4 2 3 Če je element na izhodu(0la) manjši ali enak od elementa na vhodu(1ka), pripada naslednji element(torej 1ka) isti četi kot zapisani element(torej 0la.) Naslednji element zapišemo v koren in ga pogrezamo. 0 Andrej Grah a.k.a. Burgola

  8. 5 3 0 1 * 0 5 1 2 9 3 4 2 3 1ko damo na izhod in jo primerjamo z nasl. Elementom na vhodu(0lo). 0 1 Andrej Grah a.k.a. Burgola

  9. 5 3 0 1 * 0 5 1 2 9 3 4 2 3 Ker je zapisani element(1ka) večji od naslednjega na vhodu (0la), pripada naslednji element naslednji četi. V tem primeru zmanjšamo kopico za en element tako, da zadnji element zapišemo v koren in ga pogrezamo, element na vhodu pa zapišemo v prejšnji konec kopice. 0 1 Andrej Grah a.k.a. Burgola

  10. 5 3 0 1 0 * 5 1 2 9 3 4 2 3 Kopico popravimo. 0 1 Andrej Grah a.k.a. Burgola

  11. 5 3 0 1 0 * 5 1 2 9 3 4 2 3 Damo 3 na izhod. 0 1 3 Andrej Grah a.k.a. Burgola

  12. 5 3 0 1 0 * 5 1 2 9 3 4 2 3 Primerjamo 3 in 5. 0 1 3 Andrej Grah a.k.a. Burgola

  13. 5 3 0 1 0 5 * 1 2 9 3 4 2 3 Damo 5ko v koren. 0 1 3 Andrej Grah a.k.a. Burgola

  14. 5 3 0 1 0 5 * 1 2 9 3 4 2 3 Damo 5ko na izhod in primerjamo z 1ko 0 1 3 5 Andrej Grah a.k.a. Burgola

  15. 5 3 0 1 0 5 1 * 2 9 3 4 2 3 Ker je 1 manjša od 5ke, jo damo v skladišče, 5ko pa v koren. 0 1 3 5 Andrej Grah a.k.a. Burgola

  16. 5 3 0 1 0 5 1 * 2 9 3 4 2 3 5ko damo na izhod in jo primerjamo z 2ko. Ker je 2ka manjša od 5ke, jo damo v skladišče. 0 1 3 5 5 Andrej Grah a.k.a. Burgola

  17. 5 3 0 1 0 5 1 2 * 9 3 4 2 3 Ker se je kopica spraznila(vsi so v skladišču), je to znak za novo četo. Kopico je potrebno izgraditi 0 1 3 5 5 ; Andrej Grah a.k.a. Burgola

  18. 5 3 0 1 0 5 1 2 * 9 3 4 2 3 0lo damo na izhod. Primerjamo z 9ko. 0 1 3 5 5 ; 0 Andrej Grah a.k.a. Burgola

  19. 5 3 0 1 0 5 1 2 9 * 3 4 2 3 Damo 1ko na izhod in jo primerjamo s 3ko. 0 1 3 5 5 ; 0 1 Andrej Grah a.k.a. Burgola

  20. 5 3 0 1 0 5 1 2 9 * 3 4 2 3 Damo 1ko na izhod in jo primerjamo s 3ko. 0 1 3 5 5 ; 0 1 Andrej Grah a.k.a. Burgola

  21. 5 3 0 1 0 5 1 2 9 3 * 4 2 3 3ko smo dali v koren in jo pogrezali. Damo 2ko na izhod. 0 1 3 5 5 ; 0 1 2 Andrej Grah a.k.a. Burgola

  22. 5 3 0 1 0 5 1 2 9 3 4 * 2 3 4ko dali v koren in jo pogrezali. Zdaj damo 3ko na izhod. 0 1 3 5 5 ; 0 1 2 Andrej Grah a.k.a. Burgola

  23. 5 3 0 1 0 5 1 2 9 3 4 2 * 3 Ker je 3ka večja od 2ke, damo 2ko v skladišče, 4ko pa koren. 0 1 3 5 5 ; 0 1 2 3 Andrej Grah a.k.a. Burgola

  24. 5 3 0 1 0 5 1 2 9 3 4 2 * 3 Damo 4ko na izhod. Ker je 3ka na vodu manjša od 4ke na izhodu, jo damo v skladišče, 9ko pa v koren. 0 1 3 5 5 ; 0 1 2 3 4 Andrej Grah a.k.a. Burgola

  25. 5 3 0 1 0 5 1 2 9 3 4 2 3 * 9ka gre na izhod. 0 1 3 5 5 ; 0 1 2 3 4 Andrej Grah a.k.a. Burgola

  26. 5 3 0 1 0 5 1 2 9 3 4 2 3 * Ker nobenega elementa ni v kopici (2 in 3 sta v skladišču), pomeni da je nova četa. 0 1 3 5 5 ; 0 1 2 3 4 9 ; Andrej Grah a.k.a. Burgola

  27. 5 3 0 1 0 5 1 2 9 3 4 2 3 * Kopico uredimo. 2ko damo ven. 0 1 3 5 5 ; 0 1 2 3 4 9 ; 2 Andrej Grah a.k.a. Burgola

  28. 5 3 0 1 0 5 1 2 9 3 4 2 3 * Damo še 3ko ven. 0 1 3 5 5 ; 0 1 2 3 4 9 ; 2 3 Andrej Grah a.k.a. Burgola

  29. 0 1 3 5 5 ; 0 1 2 3 4 9 ; 2 3 Zdaj smo dobili 3 čete. Tako se rešuje, če v nalogi piše da povečaj čete s predurejanjem. Če naloga zahteva še polifazno urejanje(podano mora biti še na koliko trakov), potem te čete pišeš na trakove in jih zlivaš po polifaznem načinu. Andrej Grah a.k.a. Burgola

More Related