Kaj je Splay Tree?

Razporedno drevo je optimizirano binarno iskalno drevo ali podatkovno drevo, ki temelji na vozliščih, ki se samodejno prilagaja in je boljše za dostop do nedavno iskanih elementov in vozlišč. Na razporednem drevesu je mogoče izvesti pet funkcij, ki uporabniku omogočajo manipulacijo vozlišč. To drevo ima zelo majhen odtis, zato je za shranjevanje podatkov potrebno malo pomnilnika. Pomanjkljivost tega drevesa je, da je zgrajeno linearno, zato bo dostop do vozlišč, shranjenih na dnu, trajal dlje.

Splay drevesa so binarna drevesa, ki shranjujejo vozlišča podatkov; to so običajno binarni podatki, čeprav lahko vsebujejo tudi datoteke. Za razliko od običajnega binarnega drevesa iskanja, ki uporabnikom omogoča iskanje po vozliščih, se razporedno drevo premika samo, da je iskanje veliko hitrejše. Vsa nedavno odprta vozlišča bodo razporejena blizu vrha drevesa, zato je za iskanje in odpiranje vozlišča potrebno manj časa. To preureditev pomeni, da so drevesa prikaza uporabna za predpomnilnike – računalniški pomnilnik, ki hrani nedavno dostopne podatke – in za algoritme, narejene za odpravo neuporabljenih podatkov.

Na drevesu je mogoče uporabiti pet funkcij. Operacija razporeditve je podobna operaciji združevanja, ker se dostop enega vozlišča poveže z drugim vozliščem. Funkcija split vzame eno vozlišče in ga razdeli na dve ali več vozlišč. Z združitvijo se dve vozlišči spremenita v eno. Insert vzame del vozlišča in ga vstavi v drugo, medtem ko funkcija delete izbriše del vozlišča iz razporednega drevesa.

Splay drevo uporablja zelo malo pomnilnika, kar uporabnikom omogoča izdelavo velikih dreves, ne da bi zavzeli ogromno prostora na trdem disku. Splay drevesa so preprosta in ne zahtevajo veliko kode za gradnjo, zato ne zahtevajo enake količine pomnilnika, kot jo zahtevajo kompleksnejša drevesa. Knjigovodske informacije, ki so običajno potrebne za druga drevesa, da spremljajo pozicioniranje podatkov, so nepotrebne zaradi narave drevesa, ki se samopreureja.

Čeprav razporedno drevo zavzame malo pomnilnika in lahko zlahka dostopa do nedavnih vozlišč, je lahko hitrost težava. Vozlišča je mogoče razporediti le linearno, kar pomeni, da bodo nekatera vozlišča nizko na drevesu, medtem ko so nedavna vozlišča na vrhu. Ta spodnja vozlišča bo težko dosegljiva, ker mora drevo iskati od vrha do dna, dokler ne najdemo spodnjih vozlišč. To je zato, ker ni knjigovodskih podatkov, kar ima za posledico počasno iskanje nizkih vozlišč.