blog/ib002/rb-trees/rules/index.html
2023-09-07 18:02:56 +00:00

107 lines
No EOL
124 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-ib002 docs-doc-id-rb-trees/rules">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">On the rules of the red-black tree | mf</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://blog.mfocko.xyz/ib002/rb-trees/rules"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-ib002-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-ib002-current"><meta data-rh="true" property="og:title" content="On the rules of the red-black tree | mf"><meta data-rh="true" name="description" content="Shower thoughts on the rules of the red-black tree.
"><meta data-rh="true" property="og:description" content="Shower thoughts on the rules of the red-black tree.
"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://blog.mfocko.xyz/ib002/rb-trees/rules"><link data-rh="true" rel="alternate" href="https://blog.mfocko.xyz/ib002/rb-trees/rules" hreflang="en"><link data-rh="true" rel="alternate" href="https://blog.mfocko.xyz/ib002/rb-trees/rules" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://0VXRFPR4QF-dsn.algolia.net" crossorigin="anonymous"><link rel="search" type="application/opensearchdescription+xml" title="mf" href="/opensearch.xml">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="mf RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="mf Atom Feed">
<link rel="alternate" type="application/json" href="/blog/feed.json" title="mf JSON Feed">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css" integrity="sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.8480cb83.css">
<link rel="preload" href="/assets/js/runtime~main.05f83fa7.js" as="script">
<link rel="preload" href="/assets/js/main.9283b308.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><b class="navbar__title text--truncate">mf</b></a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Additional FI MU materials</a><ul class="dropdown__menu"><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/ib002/">IB002: Algorithms</a></li><li><a class="dropdown__link" href="/pb071/">PB071: C</a></li><li><a class="dropdown__link" href="/pb161/">PB161: C++</a></li></ul></div><a class="navbar__item navbar__link" href="/contributions">Contributions</a><a class="navbar__item navbar__link" href="/talks">Talks</a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/blog">Blog</a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/ib002/">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/ib002/category/algorithms-and-correctness">Algorithms and Correctness</a><button aria-label="Toggle the collapsible sidebar category &#x27;Algorithms and Correctness&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/ib002/category/asymptotic-notation-and-time-complexity">Asymptotic Notation and Time Complexity</a><button aria-label="Toggle the collapsible sidebar category &#x27;Asymptotic Notation and Time Complexity&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/ib002/category/recursion">Recursion</a><button aria-label="Toggle the collapsible sidebar category &#x27;Recursion&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/ib002/category/red-black-trees">Red-Black Trees</a><button aria-label="Toggle the collapsible sidebar category &#x27;Red-Black Trees&#x27;" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/ib002/rb-trees/applications">Použití červeno-černých stromů</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/ib002/rb-trees/rules">On the rules of the red-black tree</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/ib002/category/graphs">Graphs</a><button aria-label="Toggle the collapsible sidebar category &#x27;Graphs&#x27;" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav><button type="button" title="Collapse sidebar" aria-label="Collapse sidebar" class="button button--secondary button--outline collapseSidebarButton_PEFL"><svg width="20" height="20" aria-hidden="true" class="collapseSidebarButtonIcon_kv0_"><g fill="#7a7a7a"><path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"></path><path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"></path></g></svg></button></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/ib002/category/red-black-trees"><span itemprop="name">Red-Black Trees</span></a><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">On the rules of the red-black tree</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>On the rules of the red-black tree</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="introduction">Introduction<a href="#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction"></a></h2><p>Have you ever thought about the red-black tree rules in more depth? Why are they
formulated the way they are? How come they keep the tree balanced? Let&#x27;s go through
each of the red-black tree rules and try to change, break and contemplate about
them.</p><p>We expect that you are familiar with the following set of the rules<sup id="fnref-1"><a href="#fn-1" class="footnote-ref">1</a></sup>:</p><ol><li>Every node is either red or black.</li><li>The root is black.</li><li>Every leaf (<code>nil</code>) is black.</li><li>If a node is red, then both its children are black.</li><li>For each node, all simple paths from the node to descendant leaves contain the
same number of black nodes.</li></ol><p>Each section will go into <em>reasonable</em> details of each rule.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="1ª-every-node-is-either-red-or-black">1ª Every node is either red or black.<a href="#1ª-every-node-is-either-red-or-black" class="hash-link" aria-label="Direct link to 1ª Every node is either red or black." title="Direct link to 1ª Every node is either red or black."></a></h2><p>OK… This one is very simple. It is just a definition and is used in all other
rules. Not much to talk about here. Or is there?</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="do-i-really-need-the-nodes-to-be-explicitly-colored">Do I really need the nodes to be explicitly colored?<a href="#do-i-really-need-the-nodes-to-be-explicitly-colored" class="hash-link" aria-label="Direct link to Do I really need the nodes to be explicitly colored?" title="Direct link to Do I really need the nodes to be explicitly colored?"></a></h3><p>The answer is no. Balancing of the red-black trees is “enforced” by the 4th and
5th rule in the enumeration above. There are many ways you can avoid using colors.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="black-height">Black height<a href="#black-height" class="hash-link" aria-label="Direct link to Black height" title="Direct link to Black height"></a></h4><p>We mentioned the 4th and 5th rule and that it enforces the balancing. What does
it mean for us?</p><p>Well, we definitely do not have to use the colors, which even as a <em>boolean</em> flag
would take at least 1 byte of space (and usually even more), cause… well, it is
easier for the CPU to work with words rather than single bits.</p><p>We could use the black height, couldn&#x27;t we? It would mean more memory used, cause
it should be ideally big and unsigned. Can we tell the color of a node from the
black height? Of course we can, if my child has the same black height as I do,
it means that there was no black node added on the path between us and therefore
my child would be colored red.</p><p>Example of a red-black tree that keeps count of black nodes on paths to the
leaves follows:</p><p><img loading="lazy" alt="Red-black tree with black height" src="/assets/images/rb_height_light-36fa69317ced094d7bb7b0fdf32cb3fe.png#gh-light-mode-only" width="923" height="539" class="img_ev3q">
<img loading="lazy" alt="Red-black tree with black height" src="/assets/images/rb_height_dark-75a70ddff74e5e1aff7e9986221b5687.png#gh-dark-mode-only" width="923" height="539" class="img_ev3q"></p><p>We mark the <em>black heights</em> in superscript. You can see that all leaves have the
black height equal to <span class="math math-inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em"></span><span class="mord">1</span></span></span></span></span>. Let&#x27;s take a look at some of the interesting cases:</p><ul><li><p>If we take a look at the node with <span class="math math-inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mtext>key</mtext><mo>=</mo><mn>9</mn></mrow><annotation encoding="application/x-tex">\text{key} = 9</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em"></span><span class="mord text"><span class="mord">key</span></span><span class="mspace" style="margin-right:0.2778em"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em"></span></span><span class="base"><span class="strut" style="height:0.6444em"></span><span class="mord">9</span></span></span></span></span>, we can see that it is
coloured red and its black height is 1, because it is a leaf.</p><p>Let&#x27;s look at its parent (node with <span class="math math-inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mtext>key</mtext><mo>=</mo><mn>8</mn></mrow><annotation encoding="application/x-tex">\text{key} = 8</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em"></span><span class="mord text"><span class="mord">key</span></span><span class="mspace" style="margin-right:0.2778em"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em"></span></span><span class="base"><span class="strut" style="height:0.6444em"></span><span class="mord">8</span></span></span></span></span>). On its left side it has
<code>nil</code> and on its right side the <span class="math math-inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>9</mn></mrow><annotation encoding="application/x-tex">9</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em"></span><span class="mord">9</span></span></span></span></span>. And its black height is still <span class="math math-inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em"></span><span class="mord">1</span></span></span></span></span>, cause
except for the <code>nil</code> leaves, there are no other black nodes.</p><p>We can clearly see that if a node has the same black height as its parent, it
is a red node.</p></li><li><p>Now let&#x27;s take a look at the root with <span class="math math-inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mtext>key</mtext><mo>=</mo><mn>3</mn></mrow><annotation encoding="application/x-tex">\text{key} = 3</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em"></span><span class="mord text"><span class="mord">key</span></span><span class="mspace" style="margin-right:0.2778em"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em"></span></span><span class="base"><span class="strut" style="height:0.6444em"></span><span class="mord">3</span></span></span></span></span>. It has a black height
of 3. Both of its children are black nodes and have black height of 2.</p><p>We can see that if a node has its height 1 lower than its parent, it is a black
node.</p><p>The reasoning behind it is rather simple, we count the black nodes all the way
to the leaves, therefore if my parent has a higher black height, it means that
on the path from me to my parent there is a black node, but the only node added
is me, therefore I must be black.</p></li></ul><h4 class="anchor anchorWithStickyNavbar_LWe7" id="isomorphic-trees">Isomorphic trees<a href="#isomorphic-trees" class="hash-link" aria-label="Direct link to Isomorphic trees" title="Direct link to Isomorphic trees"></a></h4><p>One of the other ways to avoid using color is storing the red-black tree in some
isomorphic tree. The structure of 2-3-4 tree allows us to avoid using the color
completely. This is a bit different approach, cause we would be basically using
different tree, so we keep this note in just as a “hack”.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="2ª-the-root-is-black">2ª The root is black.<a href="#2ª-the-root-is-black" class="hash-link" aria-label="Direct link to 2ª The root is black." title="Direct link to 2ª The root is black."></a></h2><p>This rule might seem like a very important one, but overall is not. You can safely
omit this rule, but you also need to deal with the consequences.</p><p>Let&#x27;s refresh our memory with the algorithm of <em>insert fixup</em>:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#000000;--prism-background-color:#ffffff"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#000000"><span class="token plain">WHILE z.p.color == Red</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> IF z.p == z.p.p.left</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> y = z.p.p.right</span><br></span><span class="token-line" style="color:#000000"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> IF y.color == Red</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> z.p.color = Black</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> y.color = Black</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> z.p.p.color = Red</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> z = z.p.p</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> ELSE</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> IF z == z.p.right</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> z = z.p</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> Left-Rotate(T, z)</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> z.p.color = Black</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> z.p.p.color = Red</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> Right-Rotate(T, z.p.p)</span><br></span><span class="token-line" style="color:#000000"><span class="token plain"> ELSE (same as above with “right” and “left” exchanged)</span><br></span><span class="token-line" style="color:#000000"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#000000"><span class="token plain">T.root.color = Black</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="theme-admonition theme-admonition-tip alert alert--success admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_S0QG"><p>If you have tried to implement any of the more complex data structures, such as
red-black trees, etc., in a statically typed language that also checks you for
<code>NULL</code>-correctness (e.g. <em>mypy</em> or even C# with nullable reference types), you
might have run into numerous issues in the cases where you are 100% sure that you
cannot obtain <code>NULL</code> because of the invariants, but the static type checking
doesn&#x27;t know that.</p><p>The issue we hit with the <em>insert fixup</em> is very similar.</p></div></div><p>You might not realize the issue at the first sight, but the algorithm described
with the pseudocode above expects that the root of the red-black tree is black by
both relying on the invariant in the algorithm and afterwards by enforcing the
black root property.</p><p>If we decide to omit this condition, we need to address it in the pseudocodes
accordingly.</p><table><thead><tr><th align="center">Usual algorithm with black root</th><th align="center">Allowing red root</th></tr></thead><tbody><tr><td align="center"><img loading="lazy" alt="1ª insertion" src="data:image/png;base64,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#gh-light-mode-only" width="179" height="155" class="img_ev3q"><img loading="lazy" alt="1ª insertion" src="data:image/png;base64,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#gh-dark-mode-only" width="179" height="155" class="img_ev3q"></td><td align="center"><img loading="lazy" alt="1ª insertion" src="data:image/png;base64,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#gh-light-mode-only" width="179" height="155" class="img_ev3q"><img loading="lazy" alt="1ª insertion" src="data:image/png;base64,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#gh-dark-mode-only" width="179" height="155" class="img_ev3q"></td></tr><tr><td align="center"><img loading="lazy" alt="2ª insertion" src="data:image/png;base64,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#gh-light-mode-only" width="227" height="251" class="img_ev3q"><img loading="lazy" alt="2ª insertion" src="data:image/png;base64,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#gh-dark-mode-only" width="227" height="251" class="img_ev3q"></td><td align="center"><img loading="lazy" alt="2ª insertion" src="data:image/png;base64,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#gh-light-mode-only" width="227" height="251" class="img_ev3q"><img loading="lazy" alt="2ª insertion" src="data:image/png;base64,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#gh-dark-mode-only" width="227" height="251" class="img_ev3q"></td></tr><tr><td align="center"><img loading="lazy" alt="3ª insertion" src="/assets/images/br_2_light-5e6a1d53e559a30e5fb86ee019229bbd.png#gh-light-mode-only" width="371" height="251" class="img_ev3q"><img loading="lazy" alt="3ª insertion" src="/assets/images/br_2_dark-e8c35bc37b250271cf480f71904c15a7.png#gh-dark-mode-only" width="371" height="251" class="img_ev3q"></td><td align="center"><img loading="lazy" alt="3ª insertion" src="/assets/images/rr_2_light-5e6a1d53e559a30e5fb86ee019229bbd.png#gh-light-mode-only" width="371" height="251" class="img_ev3q"><img loading="lazy" alt="3ª insertion" src="/assets/images/rr_2_dark-e8c35bc37b250271cf480f71904c15a7.png#gh-dark-mode-only" width="371" height="251" class="img_ev3q"></td></tr><tr><td align="center"><img loading="lazy" alt="4ª insertion" src="/assets/images/br_3_light-7be3bbcb08f8b7182a1c719693a47615.png#gh-light-mode-only" width="419" height="347" class="img_ev3q"><img loading="lazy" alt="4ª insertion" src="/assets/images/br_3_dark-a2b8248c182059b67c703f75f58f3784.png#gh-dark-mode-only" width="419" height="347" class="img_ev3q"></td><td align="center"><img loading="lazy" alt="4ª insertion" src="/assets/images/rr_3_light-51521ba414ff3a3530ed0109cfab799d.png#gh-light-mode-only" width="419" height="347" class="img_ev3q"><img loading="lazy" alt="4ª insertion" src="/assets/images/rr_3_dark-4e8b2ca938738395e438b7fc2fc5dfe4.png#gh-dark-mode-only" width="419" height="347" class="img_ev3q"></td></tr><tr><td align="center"><img loading="lazy" alt="5ª insertion" src="/assets/images/br_4_light-d72dfa633794ec97eddce8e3a4b02660.png#gh-light-mode-only" width="419" height="347" class="img_ev3q"><img loading="lazy" alt="5ª insertion" src="/assets/images/br_4_dark-eddf4c315becc51f89b0967320f132d8.png#gh-dark-mode-only" width="419" height="347" class="img_ev3q"></td><td align="center"><img loading="lazy" alt="5ª insertion" src="/assets/images/rr_4_light-631a0b3947be21a12b3a489f0cd0c3c4.png#gh-light-mode-only" width="419" height="347" class="img_ev3q"><img loading="lazy" alt="5ª insertion" src="/assets/images/rr_4_dark-3cc1c8d4b39707d2a51b51f4f1b29dc8.png#gh-dark-mode-only" width="419" height="347" class="img_ev3q"></td></tr><tr><td align="center"><img loading="lazy" alt="6ª insertion" src="/assets/images/br_5_light-efb3568bf4aadb19a9dcc57e748f89d8.png#gh-light-mode-only" width="563" height="347" class="img_ev3q"><img loading="lazy" alt="6ª insertion" src="/assets/images/br_5_dark-e24da2d7a3fb2ee63ac8e1ea9c2d45a8.png#gh-dark-mode-only" width="563" height="347" class="img_ev3q"></td><td align="center"><img loading="lazy" alt="6ª insertion" src="/assets/images/rr_5_light-6b8f80047906eb1f58472d231eb9b12a.png#gh-light-mode-only" width="563" height="347" class="img_ev3q"><img loading="lazy" alt="6ª insertion" src="/assets/images/rr_5_dark-9028cc10e78c05cb669d5d438dcbf93f.png#gh-dark-mode-only" width="563" height="347" class="img_ev3q"></td></tr><tr><td align="center"><img loading="lazy" alt="7ª insertion" src="/assets/images/br_6_light-b090675f7b30b574af44d667b083e9b7.png#gh-light-mode-only" width="563" height="443" class="img_ev3q"><img loading="lazy" alt="7ª insertion" src="/assets/images/br_6_dark-160fd071a93e279a5339c7976745f8b1.png#gh-dark-mode-only" width="563" height="443" class="img_ev3q"></td><td align="center"><img loading="lazy" alt="7ª insertion" src="/assets/images/rr_6_light-b090675f7b30b574af44d667b083e9b7.png#gh-light-mode-only" width="563" height="443" class="img_ev3q"><img loading="lazy" alt="7ª insertion" src="/assets/images/rr_6_dark-160fd071a93e279a5339c7976745f8b1.png#gh-dark-mode-only" width="563" height="443" class="img_ev3q"></td></tr><tr><td align="center"><img loading="lazy" alt="8ª insertion" src="/assets/images/br_7_light-018e13c41ce1fc6257c4c65748aaae27.png#gh-light-mode-only" width="635" height="443" class="img_ev3q"><img loading="lazy" alt="8ª insertion" src="/assets/images/br_7_dark-35ede8f297484f4305ea7fd23cbddc49.png#gh-dark-mode-only" width="635" height="443" class="img_ev3q"></td><td align="center"><img loading="lazy" alt="8ª insertion" src="/assets/images/rr_7_light-018e13c41ce1fc6257c4c65748aaae27.png#gh-light-mode-only" width="635" height="443" class="img_ev3q"><img loading="lazy" alt="8ª insertion" src="/assets/images/rr_7_dark-35ede8f297484f4305ea7fd23cbddc49.png#gh-dark-mode-only" width="635" height="443" class="img_ev3q"></td></tr><tr><td align="center"><img loading="lazy" alt="9ª insertion" src="/assets/images/br_8_light-81ac4c8a3988bd43c66f563cd4799d61.png#gh-light-mode-only" width="755" height="443" class="img_ev3q"><img loading="lazy" alt="9ª insertion" src="/assets/images/br_8_dark-b0f871ab182d06edb5c29bb490ad70bc.png#gh-dark-mode-only" width="755" height="443" class="img_ev3q"></td><td align="center"><img loading="lazy" alt="9ª insertion" src="/assets/images/rr_8_light-81ac4c8a3988bd43c66f563cd4799d61.png#gh-light-mode-only" width="755" height="443" class="img_ev3q"><img loading="lazy" alt="9ª insertion" src="/assets/images/rr_8_dark-b0f871ab182d06edb5c29bb490ad70bc.png#gh-dark-mode-only" width="755" height="443" class="img_ev3q"></td></tr></tbody></table><h2 class="anchor anchorWithStickyNavbar_LWe7" id="3ª-every-leaf-nil-is-black">3ª Every leaf (<code>nil</code>) is black.<a href="#3ª-every-leaf-nil-is-black" class="hash-link" aria-label="Direct link to 3ª-every-leaf-nil-is-black" title="Direct link to 3ª-every-leaf-nil-is-black"></a></h2><p>Now, this rule is a funny one. What does this imply and can I interpret this in
some other way? Let&#x27;s go through some of the possible ways I can look at this and
how would they affect the other rules and balancing.</p><p>We will experiment with the following tree:
<img loading="lazy" src="/assets/images/rb_light-f53bee3b32ddb2e7a4249828bc03b1a4.png#gh-light-mode-only" width="899" height="539" class="img_ev3q">
<img loading="lazy" src="/assets/images/rb_dark-c025d61dee7913262c86277087751328.png#gh-dark-mode-only" width="899" height="539" class="img_ev3q"></p><p>We should start by counting the black nodes from root to the <code>nil</code> leaves based
on the rules. We have multiple similar paths, so we will pick only the interesting
ones.</p><ol><li>What happens if we do not count the <code>nil</code> leaves?</li><li>What happens if we consider leaves the nodes with <em>no descendants</em>, i.e. both
of node&#x27;s children are <code>nil</code>?</li><li>What happens if we do not count the <code>nil</code> leaves, but consider nodes with at
least one <code>nil</code> descendant as leaves?</li></ol><table><thead><tr><th align="right">path</th><th align="right">black nodes</th><th align="right">1ª idea</th><th align="right">2ª idea</th><th align="right">3ª idea</th></tr></thead><tbody><tr><td align="right"><code>3 → 1 → 0 → nil</code></td><td align="right">4</td><td align="right">3</td><td align="right">4</td><td align="right">3</td></tr><tr><td align="right"><code>3 → 5 → 7 → 8 → nil</code></td><td align="right">4</td><td align="right">3</td><td align="right">-</td><td align="right">3</td></tr><tr><td align="right"><code>3 → 5 → 7 → 8 → 9 → nil</code></td><td align="right">4</td><td align="right">3</td><td align="right">4</td><td align="right">3</td></tr></tbody></table><p>First idea is very easy to execute and it is also very easy to argue about its
correctness. It is correct, because we just subtract one from each of the paths.
This affects <strong>all</strong> paths and therefore results in global decrease by one.</p><p>Second idea is a bit more complicated. We count the <code>nil</code>s, so the count is <span class="math math-inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>4</mn></mrow><annotation encoding="application/x-tex">4</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em"></span><span class="mord">4</span></span></span></span></span>
as it should be. However, there is one difference. Second path no longer satisfies
the condition of a <em>leaf</em>. Technically it relaxes the 5th rule, because we leave
out some of the nodes. We should probably avoid that.</p><div class="theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</div><div class="admonitionContent_S0QG"><p>With the second idea, you may also feel that we are “bending” the rules a bit,
especially the definition of the “leaf” nodes.</p><p>Given the definition of the red-black tree, where <code>nil</code> is considered to be an
external node, we have decided that bending it a bit just to stir a thought about
it won&#x27;t hurt anybody. 😉</p></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="4ª-if-a-node-is-red-then-both-its-children-are-black">4ª If a node is red, then both its children are black.<a href="#4ª-if-a-node-is-red-then-both-its-children-are-black" class="hash-link" aria-label="Direct link to 4ª If a node is red, then both its children are black." title="Direct link to 4ª If a node is red, then both its children are black."></a></h2><p>This rule might seem rather silly on the first look, but there are 2 important
functions:</p><ol><li>it allows the algorithms to <em>“notice”</em> that something went wrong (i.e. the
tree needs to be rebalanced), and</li><li>it holds the balancing and height of the tree <em>“in check”</em> (with the help of
the 5th rule).</li></ol><p>When we have a look at the algorithms that are used for fixing up the red-black
tree after an insertion or deletion, we will notice that all the algorithms need
is the color of the node. </p><blockquote><p>How come it is the only thing that we need?
How come such naïve thing can be enough?</p></blockquote><p>Let&#x27;s say we perform an insertion into the tree… We go with the usual and pretty
primitive insertion into the binary-search tree and then, if needed, we “fix up”
broken invariants. <em>How can that be enough?</em> With each insertion and deletion we
maintain the invariants, therefore if we break them with one operation, there&#x27;s
only one path on which the invariants were <em>felled</em>. If we know that rest of the
tree is correct, it allows us to fix the issues just by propagating it to the
root and <em>abusing</em> the siblings (which are, of course, correct red-black
subtrees) to fix or at least partially mitigate the issues and propagate them
further.</p><p>Let&#x27;s assume that we do not enforce this rule, you can see how it breaks the
balancing of the tree below.</p><div class="tabs-container tabList__CuJ"><ul role="tablist" aria-orientation="horizontal" class="tabs"><li role="tab" tabindex="0" aria-selected="true" class="tabs__item tabItem_LNqP tabs__item--active">Enforcing this rule</li><li role="tab" tabindex="-1" aria-selected="false" class="tabs__item tabItem_LNqP">Omitting this rule</li></ul><div class="margin-top--md"><div role="tabpanel" class="tabItem_Ymn6"><p><img loading="lazy" src="/assets/images/correct_light-bc4770146072f748be4a5aa11abf3a0c.png#gh-light-mode-only" width="755" height="347" class="img_ev3q">
<img loading="lazy" src="/assets/images/correct_dark-bbd8d4c1796b145025fed5b6dff03b84.png#gh-dark-mode-only" width="755" height="347" class="img_ev3q"></p></div><div role="tabpanel" class="tabItem_Ymn6" hidden=""><p><img loading="lazy" src="/assets/images/incorrect_light-e787e568e9a1528dcac5bf55ef29fdaa.png#gh-light-mode-only" width="803" height="443" class="img_ev3q">
<img loading="lazy" src="/assets/images/incorrect_dark-9b8b3be328ffad83233de4536c120016.png#gh-dark-mode-only" width="803" height="443" class="img_ev3q"></p></div></div></div><p>We can create a <strong>big</strong> subtree with only red nodes and <strong>even</strong> when keeping
the rest of the rules maintained, it will break the time complexity. It stops us
from “hacking” the black height requirement laid by the 5th rule.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="5ª-for-each-node-all-simple-paths-from-the-node-to-descendant-leaves-contain-the-same-number-of-black-nodes">5ª For each node, all simple paths from the node to descendant leaves contain the same number of black nodes.<a href="#5ª-for-each-node-all-simple-paths-from-the-node-to-descendant-leaves-contain-the-same-number-of-black-nodes" class="hash-link" aria-label="Direct link to 5ª For each node, all simple paths from the node to descendant leaves contain the same number of black nodes." title="Direct link to 5ª For each node, all simple paths from the node to descendant leaves contain the same number of black nodes."></a></h2><p>As it was mentioned, with the 4th rule they hold the balancing of the red-black
tree.</p><div class="theme-admonition theme-admonition-tip alert alert--success admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_S0QG"><p>An important observation here is the fact that the red-black tree is a
<strong>height</strong>-balanced tree.</p></div></div><p>Enforcing this rule (together with the 4th rule) keeps the tree balanced:</p><ol><li>4th rule makes sure we can&#x27;t “hack” this requirement.</li><li>This rule ensures that we have “similar”<sup id="fnref-2"><a href="#fn-2" class="footnote-ref">2</a></sup> length to each of the leaves.</li></ol><div class="theme-admonition theme-admonition-tip alert alert--success admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>AVL tree</div><div class="admonitionContent_S0QG"><p>You might have heard about an <em>AVL tree</em> before. It is the first self-balanced
tree to be ever introduced and works in a very similar nature as the red-black
tree, the only difference is that it does not deal with the <em>black height</em>, but
the height in general.</p><p>If you were to compare AVL with the red-black tree, you can say that AVL is much
more strict while red-black tree can still maintain the same asymptotic time
complexity for the operations, but having more relaxed rules.</p></div></div><div class="footnotes"><hr><ol><li id="fn-1">CORMEN, Thomas. Introduction to algorithms. Cambridge, Mass: MIT Press, 2009. isbn 9780262033848.<a href="#fnref-1" class="footnote-backref"></a></li><li id="fn-2">red nodes still exist<a href="#fnref-2" class="footnote-backref"></a></li></ol></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-tags-row row margin-bottom--sm"><div class="col"><b>Tags:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/ib002/tags/red-black-trees">red-black trees</a></li><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/ib002/tags/balanced-trees">balanced trees</a></li></ul></div></div><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://gitlab.com/mfocko/blog/tree/main/ib002/08-rb-trees/2023-06-10-rules.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2023-06-10T00:00:00.000Z">Jun 10, 2023</time></b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/ib002/rb-trees/applications"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Použití červeno-černých stromů</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/ib002/category/graphs"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Graphs</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#introduction" class="table-of-contents__link toc-highlight">Introduction</a></li><li><a href="#1ª-every-node-is-either-red-or-black" class="table-of-contents__link toc-highlight">1ª Every node is either red or black.</a><ul><li><a href="#do-i-really-need-the-nodes-to-be-explicitly-colored" class="table-of-contents__link toc-highlight">Do I really need the nodes to be explicitly colored?</a></li></ul></li><li><a href="#2ª-the-root-is-black" class="table-of-contents__link toc-highlight">2ª The root is black.</a></li><li><a href="#3ª-every-leaf-nil-is-black" class="table-of-contents__link toc-highlight">3ª Every leaf (<code>nil</code>) is black.</a></li><li><a href="#4ª-if-a-node-is-red-then-both-its-children-are-black" class="table-of-contents__link toc-highlight">4ª If a node is red, then both its children are black.</a></li><li><a href="#5ª-for-each-node-all-simple-paths-from-the-node-to-descendant-leaves-contain-the-same-number-of-black-nodes" class="table-of-contents__link toc-highlight">5ª For each node, all simple paths from the node to descendant leaves contain the same number of black nodes.</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Git</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/mfocko" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://gitlab.com/mfocko" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitLab<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://git.mfocko.xyz/mfocko" target="_blank" rel="noopener noreferrer" class="footer__link-item">Gitea (self-hosted)<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">Social #1</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.linkedin.com/in/mfocko/" target="_blank" rel="noopener noreferrer" class="footer__link-item">LinkedIn<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://fosstodon.org/@m4tt_314" target="_blank" rel="noopener noreferrer" class="footer__link-item">Fosstodon<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://hachyderm.io/@m4tt_314" target="_blank" rel="noopener noreferrer" class="footer__link-item">Hachyderm.io<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">Social #2</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://twitter.com/m4tt_314" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitch.tv/m4tt_314" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitch<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://ko-fi.com/m4tt_314" target="_blank" rel="noopener noreferrer" class="footer__link-item">Ko-fi<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2023 Matej Focko.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.05f83fa7.js"></script>
<script src="/assets/js/main.9283b308.js"></script>
</body>
</html>