Fibonaccijeva kopica/Primer vstavljanja drevesa

Iz MaFiRaWiki

(Razlika med različicami)
Različica od 18:41, 1 maj 2007
AleksandraVujasin (Pogovor | prispevki)

← Prejšnja različica
Različica od 12:55, 17 maj 2007
AleksandraVujasin (Pogovor | prispevki)

Naslednja različica →
Vrstica 6: Vrstica 6:
Fibonacci-Heap-Insert(H,x) Fibonacci-Heap-Insert(H,x)
stopnja[x] := 0 stopnja[x] := 0
- p[x] := NIL + p[x] := null
- otrok[x] := NIL + otrok[x] := null
levi[x] := x levi[x] := x
desni[x] := x desni[x] := x
mark[x] := FALSE mark[x] := FALSE
- if min[H] = NIL or key[x] then min[H] := x + if min[H] = null or key[x] then min[H] := x
n[H]:= n[H]+1 n[H]:= n[H]+1

Različica od 12:55, 17 maj 2007

image:Insert1.jpg

Slika 1.1 Ustvarimo novo drevo z enim elementom (v našem primeru s ključem 21).

image:Insert2.jpg

Slika 1.2 Novo drevo damo na levo stran od minimuma, kjer postane koren kopice. Preverimo minimum.

Psevdo koda:

  Fibonacci-Heap-Insert(H,x)
  stopnja[x] := 0 
  p[x] := null 
  otrok[x] := null 
  levi[x] := x 
  desni[x] := x 
  mark[x] := FALSE    
  if min[H] = null or key[x] then min[H] := x 
  n[H]:= n[H]+1
Osebna orodja