Hva er et firetre?
Et firetre, noen ganger firetre, Q-tre eller QT, er datavitenskapelig begrep som refererer til en metode for å organisere data i fire kvadranter. Databaser bruker noen ganger firetrær for å lagre og finne postene. Denne typen organisasjonsstrukturer fungerer spesielt bra for å finne en bestemt bit eller piksel i et todimensjonalt bilde.
Firtreet følger noe med datatrukturen som ofte brukes i informatikk. Den normale tredatastrukturen ser ut som et opp ned tre, der en overordnernode øverst på treet har en eller flere barneknuter koblet til den. Hver annen node på treet har en overordnet node og kan ha et hvilket som helst antall barneknuter, inkludert null.
I motsetning til en normal tredatastruktur, krever en firhjulstruktur at hver indre node har nøyaktig fire barneknuter. Når du illustrerer de fleste firhjulstrukturer, vil du se en node som har fire barneknuter hengende fra seg, med linjer som forbinder overordnede knutepunkter med barneknuter. Illustrasjonen kan fortsette, med fire flere barn-noder hengende fra hver av de opprinnelige fire barn-nodene.
Andre ganger vil illustrasjonen av et firetre være en region eller firkant. Hver gang regionen når sin maksimale kapasitet for lagring av data, er den delt inn i fire kvadranter. Normalt er områdene og kvadrantene firkanter, selv om de også kan være rektangler eller andre former.
Et firetre er en god datastruktur for å organisere piksler i et foto og for å organisere datagrafikk. Bildet kan deles inn i kvadranter, og hver kvadrant kan deles i fire til. Dette kan gjentas igjen og igjen til du når nivået for individuelle piksler. Hvis en kvadrant inneholder piksler som er i samme farge, er det imidlertid ingen grunn til å dele kvadranten ytterligere.
Selv om data lagret i en firhjulstruktur kan kreve mye lagringsplass sammenlignet med andre metoder for å organisere data for datamaskingrafikk, har firhjulstrukturen flere fordeler. Først kan du slette hele fotografiet eller grafikken på et enkelt trinn ved å fjerne rotnoden, som også tømmer alle barna-nodene. For det andre kan du raskt redusere oppløsningen i et fotografi ved ganske enkelt å fjerne det endelige nivået på barneknuter. Dette vil dermed redusere mengden lagringsplass det krever. Endelig er det enklere å finne et bestemt område på fotografiet for bildemanipulering med firhjulstrukturen.
Firtrær brukes også i noen få andre situasjoner, inkludert romlig indeksering. Selv om firetrær er begrenset til todimensjonale bilder, kan det å representere et tredimensjonalt bilde følge en lignende struktur, kalt en octree, som er underinndelingen av en kube i åtte barn.