1) Care este diferența dintre arbori AVL și arbori splay?
Ele sunt similare în structură și operațiunile pe care le numim pe ele. Diferența este că, în copaci splay, după fiecare operație, vom încerca să păstreze copac aproape perfect echilibrat, astfel încât operațiunile viitoare să ia mai puțin timp.
2) Pe ce bază vom selecta aceste șuviță?
copaci Splay sunt întotdeauna mai bune decât arbori de căutare binare când, se ocupă de aplicație cu o mulțime de date în copac, dar, va avea nevoie de acces la un subset de date foarte frecvent decât altele. În acest caz, datele pe care le accesați frecvent va veni aproape de rădăcină, ca urmare a splay. De asemenea, orice nod poate fi apoi accesate cu mai puțin timp decât înainte.
Ca regulă generală pentru selectarea acestor copaci, dacă aveți nevoie de log (n) „mediu“ pe o perioadă de operațiuni de copac, apoi utilizați copac splay. arbore binar nu poate garanta acest lucru.
3) Care sunt pozitive și a lui negative ale acestor copaci?
Pozitive pentru ambele este că veți obține în jurul valorii de log (n), în ambele aceste structuri de date teoretic.
Deoarece arborii splay menționați au log medii (n) peste un număr de operații. Acest lucru înseamnă că, poate ai luat n timp complexitatea pentru o operațiune atleast o dată în acel set. Dar acest lucru va fi compensată la accesarea elementelor frecvente.
Negativul arbore binar de căutare este că, trebuie să fie norocos să aibă log (n) întotdeauna. În cazul în care cheile nu sunt întâmplătoare, atunci arborele se va reduce la o listă ca formă cu o singură parte.
4) Care sunt performanțele acestor arbori în ceea ce privește notație mari O?
Splay tree Log (n) pe medie pentru un grup de operațiuni de copac. Binar Log arbore (n) numai în cazul în care cheile sunt merge în mod aleatoriu.
Rezultatele privind runtime sunt evidente aici evazați de rulare copac profilare
Puteți vedea diferența de execuție în căutarea cu și fără splaying.