Červeno-černý strom
Červeno-černý strom (též anglicky red-black tree) je binární vyhledávací strom. Jedná se o datovou strukturu často používanou pro implementaci asociativního pole. Autor algoritmu, Rudolf Bayer, jej nejprve nazval symetrický binární B-strom, své moderní jméno získal až v práci Lea J. Guibase a Roberta Sedgewicka z roku 1978.
Červeno-černý strom musí splňovat následující pravidla:
- Každý uzel je buď červený, nebo černý.
- Kořen je černý.
- Listy (nil) jsou pokládány za černé vrcholy.
- Každý červený vrchol má dva černé syny.
- Každá cesta z jednoho vrcholu do jeho podřízených listů obsahuje stejný počet černých vrcholů.
Související články
Externí odkazy
- Obrázky, zvuky či videa k tématu červeno-černý strom na Wikimedia Commons
Demonstrace chodu algoritmu
- Vizualizace červeno-černých stromů
- Red-Black Tree Animation, ukázka vkládání v nejhorším případě
Implementace
- V implementaci Standard Template Library jazyka C++ jsou červeno-černé stromy často použity v kontejnerech
std::set<Value>
astd::map<Key,Value>
- Efektivní implementace červeno-černých stromů
- RBT: knihovna červeno-černých stromů v jazyce SmallEiffel
- libredblack: Implementace v C
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.