Pagini recente » Istoria paginii utilizator/mihaes | Diferente pentru probleme-de-taietura intre reviziile 16 si 15 | Autentificare | Monitorul de evaluare | Diferente pentru arbori-de-intervale intre reviziile 13 si 14
Nu exista diferente intre titluri.
Diferente intre continut:
* consideram radacina $nod$ avand asociat intervalul $[st,dr]$
* daca $st<dr$ atunci vom avea asociat subarborele stang T(st,mij), respectiv subarborele drept T(mij+1,dr), unde $mij$ este mijlocul intervalului $[st,dr]$
Intervalul $[st,dr]$ asociat unui nod se numeste interval standard. Frunzele arborelui sunt considerate intervale elementare, ele avand lungimea $1$.
Intervalul $[st,dr]$ asociat unui nod se numeste interval standard. Frunzele arborelui sunt considerate intervale elementare, ele avand lungimea $1$.
h3. Proprietate:
Un arbore de intervale este un arbore binar echilibrat(diferenta absoluta intre adancimea subarborelui stang si cea a subarborelui drept este cel mult 1). Astfel, adancimea unui arbore de intervale care conţine N intervale este $[log$~2~$N]+1$.
[poza]
h2. Operatii efectuate asupra unui arbore de intervale:
h3. Actualizare unui interval intr-un arbore de intervale
Vom prezenta pseudocodul unei proceduri recursive care insereaza un interval [a,b] intr-un arbore de intervale T(st,dr) cu rădăcina in nodul nod. Cea mai eficienta metoda de stocare in memorie a unui arbore de intervale este sub forma unui vector folosind aceeaşi codificare a nodurilor ca la heap-uri.
procedura ACTUALIZARE(nod, st, dr, a, b)
daca (a ≤ st) si (dr ≤ b) atunci
modifica structura auxiliara din nod
altfel
mij = (st+dr)/2
daca (a <= mij) atunci ACTUALIZARE(2*nod, st, mij, a, b)
daca (b > mij) atunci ACTUALIZARE(2*nod+1, mij+1, dr, a, b)
actualizează structura auxiliara din nodul nod
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.