Mikä on Splay Tree?

Välityspuu on optimoitu binäärinen hakupuu tai solmupohjainen tietopuu, joka on itsesäätyvä ja parempi äskettäin haettujen elementtien ja solmujen käyttämiseen. Levityspuulle voidaan suorittaa viisi toimintoa, jolloin käyttäjä voi käsitellä solmuja. Tällä puulla on hyvin pieni jalanjälki, joten tietojen tallentamiseen tarvitaan vähän muistia. Puun haittana on, että se on rakennettu lineaarisesti, joten pohjaan tallennettujen solmujen käyttö kestää kauemmin.

Splay -puut ovat binääripuita, jotka tallentavat datasolmuja; tämä on yleensä binääridataa, vaikka ne voivat myös sisältää tiedostoja. Toisin kuin tavallinen binäärinen hakupuu, jonka avulla käyttäjät voivat tehdä hakuja solmujen kautta, levityspuu liikkuu itsekseen nopeuttaakseen hakua. Kaikki äskettäin avatut solmut järjestetään lähellä puun yläosaa, joten solmun löytämiseen ja avaamiseen tarvitaan vähemmän aikaa. Tämä uudelleenjärjestely tarkoittaa, että levityspuut ovat hyödyllisiä välimuisteissa – tietokoneen muistissa, joka sisältää äskettäin käytetyt tiedot – ja algoritmeille, jotka on tehty käyttämättömän datan poistamiseksi.

Puussa voidaan käyttää viittä toimintoa. Levitystoiminto on kuin yhdistämisoperaatio, koska yhden solmun pääsy muodostaa yhteyden toiseen solmuun. Split -toiminto ottaa yhden solmun ja jakaa sen kahteen tai useampaan solmuun. Liittymisen myötä kaksi solmua muutetaan yhdeksi. Insert ottaa osan solmusta ja lisää sen toiseen, kun taas poistotoiminto poistaa osan solmusta esityspuusta.

Levityspuu käyttää hyvin vähän muistia, minkä ansiosta käyttäjät voivat tehdä suuria puita ottamatta valtavaa määrää kiintolevytilaa. Levityspuut ovat yksinkertaisia ​​eivätkä vaadi paljon koodia rakentaakseen, joten ne eivät vaadi yhtä paljon muistia kuin monimutkaisemmat puut. Kirjanpitotiedot, jotka yleensä ovat tarpeen muille puille tietojen sijainnin seuraamiseksi, ovat tarpeettomia puun itsensä uudelleenjärjestävän luonteen vuoksi.

Vaikka levityspuu vie vähän muistia ja voi helposti käyttää viimeisimpiä solmuja, nopeus voi olla ongelma. Solmuja voidaan järjestää vain lineaarisesti, mikä tarkoittaa, että jotkut solmut ovat matalalla puussa, kun taas viimeisimmät solmut ovat yläosassa. Näitä alasolmuja on vaikea saavuttaa, koska puun on etsittävä ylhäältä alas, kunnes alemmat solmut on löydetty. Tämä johtuu siitä, että kirjanpitotietoja ei ole, minkä seurauksena matalat solmut haetaan hitaasti.