Červené a čierne stromy: popis, funkcie

Rudolf Bayer vyvinul systém "červeno-čiernych stromov" na začiatku sedemdesiatych rokov. Ich meno bolo dané L. Gimpasovi a R. Sedgwickovi.

To je červeno-čierny strom

Je potrebné poznamenať, že sa druh, samobalansyruyuschyhsya binárne stromy, ktoré poskytujú veľkosť výšky počítanie počtu jednotiek a produkujú primárny a základný spôsob strom vyhľadávania na krátku dobu. Medzi tieto operácie patrí spojenie, vylúčenie a sledovanie stránky. Zostatok je poskytnutý na základe doplnku atribútu aplikácie kódu farebnej stránky. Táto vlastnosť preberá jednu z pravdepodobných konceptov a je označená jednou z uvedených farieb.


Počet jednotiek na čiernou niťou od počiatku (root) ku konečnému (písmeno) s názvom čierne vysoké stromy.

Vznik výrazu

Pri opise samobalansyruyuscheesya vyhľadávací strom v jeho papiera autori zrejme netušil, že budú zakladatelia nové funkčné obdobie. Avšak, osud bol nariadený tak, že tlačiareň bola v prítomnosti farby len dvoch farieb. Označili tiež každý bit, ktorý sa pripojí k ďalšiemu uzlu.

Aplikácia

V informatike sa na vytvorenie porovnateľných údajov používajú červeno-čierne stromy, ktoré môžu zahŕňať rôzne expozície a časti nápisov alebo čísel. Môžete vytvoriť červený a biely strom na ActionScript, Python, C ++ a takmer akýkoľvek iný programovací jazyk. To je veľmi jednoduché. Červeno-čierny strom Java je tiež peknýrozšírená.

Vlastnosti

Čierne červené stromy sú vyhľadávacie stromy v binárnom súradnicovom systéme. V týchto systémoch má každé miesto určitú hodnotu farby. To môže mať jeden z vyššie uvedených symbolov. Okrem všetkých podmienok vzťahujúcich sa na binárne majestátne stromy, sme sa zaoberali na odrody, tiež použiť nasledujúce pravidlá:


  • Farba web je len jeden z dvoch vyššie. Žiadne ďalšie možnosti, to sa tiež odráža v názve termínu.
  • Koreň stromu musí byť vždy čierny. Výnimky sú možné, ale ustúpiť od pravidla dodáva riziko, že zib'yetsya samobalansyrovka strom.
  • Všetky listy majú nulovú hodnotu (NIL) a sú označené čiernou farbou.
  • Je potrebné zabezpečiť, aby dva potomci každého červeného nadradeného uzla boli čierne.
  • Jedno jednoduché priebeh určitého uzla ku každému uzlu dcérskej dosky poskytuje presne rovnaký počet čiernych štruktúrnych jednotiek.
  • Niekedy sa červené a čierne stromy interpretujú ako triviálne binárne vyhľadávacie stromy. Ich rozdiely sú determinované iba tým, že výmenou za určité farebné uzly sú vyššie uvedené hodnoty plstené rebrá.

    Prečo zvoliť práve červeno-čierny strom

    Čierne a červené stromy sú jedným z najpopulárnejších voľby nezávisle balansyruyuschyhsya binárne vyhľadávacie stromy, ktoré sa často obracajú do praktického hľadiska. Čo robí túto popularitu jasné? Prax je lenivá a stojí za to priznať. Všetko je príliš ťažkopádnea ťažko použiteľný a súčasne poskytuje porovnateľne podobné výsledky pri použití jednoduchších metód, zomrie alebo odišiel do vzdialeného plánu. Táto prevalencia červeno-čiernych stromov v ľuďoch je spôsobená tým, že najčastejšie poskytujú optimálnu rovnováhu medzi kvalitou a úrovňou rovnováhy a zakovrystosti jej podpory.
    Napríklad, ak ich porovnáme s dokonale vyváženými stromami, potom môže nastať situácia, keď sa pozoruje, že "ideálni" predstavitelia ukladajú príliš nezmieriteľné požiadavky. A pokiaľ ide o realizáciu akcie vylúčenia zo stromu alebo príliš veľa času a úsilia sa vynaloží na stabilizáciu rovnováhy v danej situácii.

    Procesy

    Proces kontroly čiernych a červených binárnych stromov je takmer rovnaký pre všetky ostatné binárne vetvené vyhľadávania. To je pravda, pretože každý čierny a biely strom je jednou zo súkromných možností klasického binárneho vyhľadávacieho stromu. Spolupráca s nimi by však mala brať do úvahy väčšiu pravdepodobnosť, že priama produkcia zaradenia alebo vylúčenia údajov môže poškodiť štruktúru čiernych a červených stromov. Obrovskou výhodou je, že relatívne malý počet akcií je potrebných na rekonštrukciu vlastností, ako sú meniace sa farby a menej ako tri otáčky stromu. V skutočnosti všetky tieto operácie netrvajú veľa času. Spustenie vkladacej akcie alebo vloženie položky stojí za pridanie do ďalšieho uzla. Táto funkcia je rovnaká pre všetky binárne vyhľadávacie stromy.Ďalším krokom je farba uzla v červenej farbe. Jediný rozdiel je, že ak vkladanie binárneho vyhľadávacieho stromu najprv pridá písmeno, potom v čiernej a červenej poslednej nie sú poskytnuté žiadne informácie. V dôsledku toho sa namiesto nich pridá interný uzol, ktorý prijíma červenú farbu a dva jej čierne potomkovia. Naše ďalšie kroky sú priamo podmienené farbou priľahlých uzlov. Pre nich sa používa termín "strýko". Priama analógia s genealogickým stromom. V dôsledku toho:
  • Vlastnosť skutočnosti, že všetky listy sú čierne farby, musí byť vždy vykonaná.
  • Postupnosť skutočnosti, že dva deriváty každého červeného uzla zostávajú čierne vo farbe, sa môžu prerušiť. To sa však stáva len pri pridávaní červenej stránky, pri zmene farby čiernobielej na červenú alebo pri rozložení celého stromu.
  • Poznamenávame tiež, že sekvencia od uzla po písmeno, ktorá obsahuje rovnaký počet čiernych uzlov, môže byť ovplyvnená. Stane sa to iba pri zapnutí čierneho uzla, pri zmene červeného prvku na čierny, ako aj v opačnom prípade pri čiernom a červenom prefarbení. To isté platí pre rotáciu stromov. Po preskúmaní všetkých vyššie uvedených skutočností je ľahké zistiť, ako vyhľadávať červený a čierny strom. Zaujímavý výklad takého jednoduchého pojmu stromu s popisom jeho farby - čierno-čiernej alebo čiernohnedej. Teraz si to uvedomíte.
  • Súvisiace publikácie