Advertisement
wandrake

Untitled

Dec 11th, 2012
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. - u ha un solo figlio v
  2. - se il blocco di v ha spazio aggiungi u; u.depth = v.depth
  3. - altrimenti chiudi il blocco di v e crea un nuovo blocco; u.depth = v.depth + 1
  4. - u è una foglia
  5. - u.depth = 1
  6. - u ha due figli v1 v2
  7. - se i blocchi sono entrambi pieni creo un nuovo blocco per u; u.depth = max{vi.depth}+1
  8. - se v1 è pieno e v2 no
  9. - se v1.depth >= v2.depth
  10. - chiudi v1 e v2 e crea un nuovo blocco per u; u.depth = v1.depth+1
  11. - altrimenti aggiungi u al blocco di v2; u.depth = v2.depth
  12. - se v2 e pieno e v1 no idem
  13. - se entrambi sono non pieni
  14. - se v1.size+v2.size < B
  15. - crea un nuovo blocco con v1, v2 e u; v1.depth = v2.depth = u.depth = max(vi.depth)
  16. - altrimenti (la somma è maggiore o uguale a B)
  17. - se v1.depth >= v2.depth chiudo v2, aggiungo u a v1, u.depth = v1.depth
  18. - altrimenti chiudo v1, aggiungo u a v2, u.depth = v2.depth
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement