அல்கோரிதம்red black balancing

Red–black — invariant வார்த்தையில்

TT
Testlaa Team
May 14, 20261 min read

Black height uniform; consecutive red limit; rotate+recolor.

Try this in Python

from __future__ import annotations
from dataclasses import dataclass


@dataclass
class TreeNode:
    val: int
    left: TreeNode | None = None
    right: TreeNode | None = None

from enum import Enum
from dataclasses import dataclass


class Color(Enum):
    RED = 1
    BLACK = 2


@dataclass
class RBNode:
    val: int
    color: Color = Color.RED
    left: RBNode | None = None
    right: RBNode | None = None


x = RBNode(10, Color.BLACK)
print(x.color)

Key takeaways

  • 5 invariants high level.
  • Recolor root propagate.
  • stdlib hides complexity.

Tags:

Tree structuresPythonமாணவர்கள்