Dvejetainis medis yra hierarchinė duomenų struktūra, kurioje kiekvienas mazgas turi nulį, vieną ar daugiausiai du vaikus. Kiekviename mazge yra „kairysis“ rodyklė, „dešinis“ rodyklė ir duomenų elementas. „Šaknies“ rodyklė žymi aukščiausią medžio mazgą. Kiekvienas mazgas duomenų struktūroje yra tiesiogiai sujungtas su savavališku mazgų skaičiumi iš abiejų pusių, vadinamu vaikais. Nulinis žymiklis žymi dvejetainį medį. Nėra specialios tvarkos, kaip mazgai turi būti išdėstyti dvejetainiame medyje. Mazgai, neturintys vaikų mazgų, vadinami lapų mazgais arba išoriniais mazgais.
Kalbant paprastai, jis apibūdina mazgų organizuotą ženklinimo funkciją, kuri savo ruožtu kiekvienam mazgui priskiria tam tikrą atsitiktinę vertę. Viskas, kas turi du vaikus ir vieną iš tėvų mazgų, yra dvejetainis medis. Dvejetainiai medžiai yra naudojami informacijai, kuri sudaro hierarchiją, tokią kaip failų sistema, saugoti asmeniniame kompiuteryje. Skirtingai nuo masyvų, medžiai neturi viršutinės mazgų skaičiaus ribos, nes jie susieti naudojant rodykles, pavyzdžiui, susietus sąrašus. Pagrindinės dvejetainio medžio funkcijos yra hierarchinių duomenų pateikimas, duomenų sąrašų rūšiavimas, efektyvių įterpimo / ištrynimo operacijų teikimas ir kt. Medžio mazgai pateikiami naudojant struktūras C.
Dvejetainis paieškos medis yra dvejetainio medžio duomenų struktūros rūšis, kurioje mazgai yra išdėstyti eilės tvarka, todėl dar vadinami „užsakytu dvejetainiu medžiu“. Tai mazgo pagrindu sukurta duomenų struktūra, užtikrinanti efektyvų ir greitą duomenų rūšiavimo, gavimo ir paieškos būdą. Kiekvieno mazgo kairiajame papildomame elemente elementai turi būti mažesni arba lygūs jo pagrindinio mazgo (LP) raktui. Raktų kopijų neturėtų būti. Paprastai tariant, tai yra ypatinga dvejetainių medžių duomenų struktūra, kuri efektyviai saugo ir tvarko atmintyje esančius elementus.
Tai leidžia greitai pasiekti informaciją, įterpti ir pašalinti duomenis, be to, ją galima naudoti ieškos lentelėms, kurios leidžia ieškoti daiktų pagal jų unikalius klavišus, pavyzdžiui, ieškoti asmens telefono numerio pagal pavadinimą. Unikalūs raktai yra rūšiuojami organizuotai, kad paiešką ir kitas dinamines operacijas būtų galima atlikti naudojant dvejetainę paiešką. Tai palaiko tris pagrindines operacijas: elementų paiešką, elementų įdėjimą ir elementų ištrynimą. Dvejetainis paieškos medis leidžia greitai atkurti medyje saugomus elementus, nes kiekvienas mazgo raktas yra kruopščiai lyginamas su šaknies mazgu, kuris pašalina pusę medžio.
Dvejetainis medis | Dvejetainis paieškos medis |
Dvejetainis medis yra specializuota medžio forma, vaizduojanti hierarchinius duomenis medžio struktūroje. | Dvejetainis paieškos medis yra dvejetainio medžio rūšis, kuri palaiko raktus rūšiuota tvarka, kad būtų galima greitai ieškoti. |
Kiekviename mazge turi būti ne daugiau kaip du vaiko mazgai, kiekvienas mazgas sujungtas nukreiptu kraštu iš tiksliai vieno kito mazgo. | Kairiajame antriniame mazge esančių mazgų vertė yra mažesnė arba lygi šaknies mazgo vertei, o dešiniojo papildomo mazgo vertės yra didesnės arba lygios šakninio mazgo vertei.. |
Nėra santykinės tvarkos, kaip mazgai turėtų būti organizuojami. | Vadovaujantis galutine tvarka, kaip mazgai turėtų būti išdėstyti medyje. |
Iš esmės tai yra hierarchinė duomenų struktūra, tai elementų, vadinamų mazgais, rinkinys. | Tai dvejetainio medžio variantas, kuriame mazgai išdėstomi santykine tvarka. |
Jis naudojamas greitam ir efektyviam duomenų ir informacijos paieškai medžio struktūroje. | Jis daugiausia naudojamas elementų įterpimui, ištrynimui ir paieškai. |
Nors abu imituoja hierarchinę medžio struktūrą, vaizduojančią mazgų rinkinį su kiekvienu mazgu, reiškiančiu vertę, jie labai skiriasi vienas nuo kito tuo, kaip juos galima įgyvendinti ir panaudoti. Dvejetainis medis vadovaujasi viena paprasta taisykle, kad kiekvienas pirminis mazgas neturi daugiau nei dviejų vaiko mazgų, tuo tarpu dvejetainis paieškos medis yra tik dvejetainio medžio variantas, kuris seka santykinę tvarką, kaip mazgai turėtų būti išdėstyti medyje..