Kas yra Keturmedis?

Keturmedis yra į medį panaši struktūra, pagrįsta keturių galia ir naudojama failams tvarkyti duomenų bazėje. Kiekvienas pirminis arba pradinis mazgas turi keturis antrinius mazgus ir kiekvienas vaikas turi tam tikrą duomenų kiekį. Kai duomenų limitas peržengs jo ribą, iš to mazgo bus sukurti keturi vaikai. Yra dvi pagrindinės keturmedžio struktūros: regioninis ir taškinis medis, kurių kiekvieno dizainas šiek tiek skiriasi. Nors keturmedis dažniausiai naudojamas su duomenų bazėmis, jis taip pat gali būti naudojamas ieškant taškų dvimačiuose (2D) vaizduose, nes 2D vaizdo pikselius visada galima padalyti į keturias dalis.

Visos į medį panašios struktūros yra pagamintos su pirminiais arba šakos mazgais ir vaikų, arba lapų, mazgais. Tėvas yra atskaitos taškas, kuriame yra daug kategorijų duomenų, o vaikas turi bylas ir dokumentus. Keturkampyje kiekvienas iš tėvų turi turėti keturis vaikus. Nors turi būti keturi vaikai, ne visi vaikai turi turėti duomenų; tie, kurių nėra, yra žinomi kaip nuliniai mazgai. Šie nuliniai mazgai dažnai lieka sustingę ir laukia duomenų.

Kiekvienas antrinis keturmedžio mazgas turi duomenų limitą. Ši riba paprastai nustatoma pagal bendrą duomenų bazės dydį. Kai informacijos tiek daug, kad ji viršija ribą, antrinis mazgas tampa pagrindiniu mazgu, iš esmės pagimdydamas – sukuria keturis antrinius mazgus, kurie užima visus papildomus duomenis. Paprastai šiame kūrinyje bus vienas ar du nuliniai mazgai, tačiau tai visiškai priklauso nuo to, kiek mazge buvo duomenų.

Yra du pagrindiniai keturmedžiai: regionas ir taškas. Regiono keturmedis naudojamas išskaidyti visą 2D sritį į dalis pagal keturių, pavyzdžiui, keturių, aštuonių ar 16 dalių, galią ir dažnai naudojamas vaizdui. Ši struktūra geriausiai tinka vaizdams arba duomenų laukų diagramoms. Taškinė versija yra kaip dvejetainis medis ir geriausia naudoti su išdėstytais taškais. Šis variantas taip pat yra tikras medis, nes yra centrinis taškas, iš kurio kyla visi mazgai, skirtingai nuo regioninės versijos, kurioje mazgai yra išsibarstę.

Dažniausiai naudojamas quadtree yra atskirti ir tvarkyti duomenų bazę, tačiau tai nėra vienintelis jo panaudojimas. Algoritmai, sukurti norint rasti konkretų vaizdo pikselį, paprastai naudoja keturmedžius, nes kiekvienas vaizdo pikselis gali būti padalintas į keturias lygias dalis. Dėl to keturmedžiai yra unikaliai pritaikyti pikselių paieškai.