Algoritem za naravno, uravnoteženo, trosmerno zlivanje

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje

Ker k navadnemu zlivanju uvedemo čete, to postane naravno zlivanje. Ker uporabimo trakove direktno, to pomeni, da bo to uravnoteženo zlivanje. Ker uporabimo tri trakove za vsako zlivanje, je to trosmerno zlivanje.

Prvi korak:

                                            / 16;3;7,11
16,4,10,14,7,9,3,2,8,1,5,22,7,11,6,15,21,17 - 4,10,14;2,8;6,15,21
                                            \ 7,9;1,5,22;17

Prvo zlivanje:

          16;3;7,11 \ / 4,7,9,10,14,16
4,10,14;2,8;6,15,21 - - 1,2,3,5,8,22
      7,9;1,5,22;17 / \ 6,7,11,15,17,21

Drugo zlivanje:

 4,7,9,10,14,16 \ 
   1,2,3,5,8,22 - - 1,2,3,4,5,6,7,7,8,9,10,11,14,15,16,17,21,22
6,7,11,15,17,21 / 

Težave tega zlivanja je v tem, da od 2N trakov ob zlivanju naenkrat uporablja največ N+1 trakov. Zato so razvili Algoritem za polifazno urejanje.



Za trosmerno potrebujemo 6 trakov plus vhodni. Zlivanja ne zaznamo. Ok, pa začnimo:

  1. Vhodne podatke porazdelimo na 3 trakove, pri tem se nam lahko čete tudi zlijejo
  2. Nato pa zlivamo čete na izhodne trakove in sicer na vsakega enega zaporedno.
  3. Postopek ponavljamo, dokler ne dobimo samo ena čete na enem traku.
Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja