Kaj je Quadtree?

Quadtree je drevesna struktura, ki temelji na moči štirih in se uporablja za organiziranje datotek v bazi podatkov. Vsako nadrejeno ali začetno vozlišče ima štiri podrejena vozlišča in vsak otrok vsebuje določeno količino podatkov. Ko se omejitev podatkov razlije čez njeno mejo, bodo iz tega vozlišča narejeni štirje podrejeni. Obstajata dve glavni strukturi quadtree: regija in točkovno drevo, ki se po zasnovi nekoliko razlikujeta. Medtem ko se štiridimenzionalno drevo najpogosteje uporablja pri zbirkah podatkov, ga je mogoče uporabiti tudi za iskanje slikovnih pik v dvodimenzionalnih (2D) slikah, saj je slikovne pike v 2D sliki vedno mogoče ločiti na štiri dele.

Vse drevesne strukture so narejene z nadrejenimi ali vejnimi vozlišči in podrejenimi ali listnimi vozlišči. Starš je izhodišče in vsebuje široke kategorije, ki temeljijo na podatkih, medtem ko otrok hrani datoteke in dokumente. V quadtreeju mora imeti vsak starš štiri otroke. Čeprav morajo biti otroci štirje, vsi otroci ne smejo vsebovati podatkov; tista brez so znana kot ničelna vozlišča. Ta ničelna vozlišča pogosto mirujejo in čakajo na podatke.

Vsako podrejeno vozlišče v kvadratnem drevesu ima omejitev podatkov. Ta omejitev je običajno določena s celotno velikostjo baze podatkov. Ko je informacij toliko, da presežejo mejo, otroško vozlišče postane nadrejeno vozlišče tako, da v bistvu rodi – ustvari štiri otroška vozlišča, ki prevzamejo vse dodatne podatke. Običajno bosta iz te stvaritve eno ali dve ničelni vozlišči, vendar je to v celoti odvisno od tega, koliko podatkov je bilo v vozlišču.

Obstajata dve glavni kvaddrevi: regija in točka. Kvadrodrevo regije se uporablja za razgradnjo celotne 2D regije na dele na podlagi moči štirih — na primer štiri, osem ali 16 delov — in se pogosto uporablja za predstavitve. Ta struktura je najboljša za slike ali grafe podatkovnih polj. Točkovna različica je kot binarno drevo in jo je najbolje uporabiti z urejenimi točkami. Tudi ta varianta je pravo drevo, saj obstaja osrednja točka, iz katere izvirajo vsa vozlišča, za razliko od različice regije, v kateri so vozlišča raztresena.

Najpogostejša uporaba quadtree je ločevanje in organiziranje baze podatkov, vendar to ni edina uporaba. Algoritmi, narejeni za iskanje določenega slikovnega pika na sliki, običajno uporabljajo kvaddrevesa, saj je vsak slikovni piksel na sliki mogoče ločiti na štiri enake dele. Zaradi tega so quaddrees edinstveno primerni za iskanje slikovnih pik.