Mikä on Quadtree?

Quadtree on puumainen rakenne, joka perustuu neljän voimaan ja jota käytetään tiedostojen järjestämiseen tietokantaan. Jokaisella vanhemmalla tai aloittavalla solmulla on neljä alisolmua, ja jokaisella lapsella on tietty määrä dataa. Kun tietoraja ylittää rajansa, solmusta tehdään neljä alihankkijaa. Neljä päärakennetta on kaksi: alue ja pistepuu, jotka ovat rakenteeltaan hieman erilaisia. Vaikka quadtreea käytetään useimmiten tietokantojen kanssa, sitä voidaan käyttää myös pikselien löytämiseen kaksiulotteisista (2D) kuvista, koska 2D-kuvan pikselit voidaan aina jakaa neljään osaan.

Kaikki puumaiset rakenteet on tehty vanhemman tai haaran solmuilla ja ali- tai lehtisolmuilla. Vanhempi on lähtökohta ja sisältää laajoja luokkiin perustuvia tietoja, kun taas lapsella on tiedostoja ja asiakirjoja. Neljässä puussa jokaisella vanhemmalla on oltava neljä lasta. Vaikka lapsia on oltava neljä, kaikkien lasten ei tarvitse sisältää tietoja; niitä, joita ei ole, kutsutaan nollasolmuiksi. Nämä nollasolmut pysyvät usein pysähtyneinä ja odottavat tietoja.

Jokaisella quadree -alisolmulla on tietoraja. Tämä raja määritetään yleensä tietokannan koon mukaan. Kun tietoja on niin paljon, että ne ylittävät rajan, lapsisolmusta tulee vanhempi solmu synnyttämällä olennaisesti – luo neljä alisolmua, jotka ottavat kaikki ylimääräiset tiedot. Tästä luomisesta tulee yleensä yksi tai kaksi tyhjää solmua, mutta tämä riippuu täysin siitä, kuinka paljon tietoja solmussa oli.

Päälinjoja on kaksi: alue ja piste. Alue quadtree käytetään hajottamaan koko 2D -alue osiksi neljän voiman perusteella – kuten neljä, kahdeksan tai 16 osaa – ja käytetään usein esityksissä. Tämä rakenne sopii parhaiten kuville tai tietokenttäkaavioille. Pisteversio on kuin binääripuu ja sitä käytetään parhaiten tilattujen pisteiden kanssa. Tämä muunnelma on myös todellinen puu, koska siellä on keskipiste, josta kaikki solmut lähtevät, toisin kuin alueversio, jossa solmut ovat hajallaan.

Quadre -puun yleisin käyttötarkoitus on tietokannan erottaminen ja järjestäminen, mutta tämä ei ole sen ainoa käyttö. Algoritmit, jotka on tehty tietyn pikselin löytämiseksi kuvasta, käyttävät yleensä nelipuita, koska kuvan jokainen pikseli voidaan jakaa neljään yhtä suureen osaan. Tämä tekee quadreista ainutlaatuisen sopivan pikselien etsimiseen.