Bir ağacın her bir düğümü için, bir yaprak düğüme giden en uzun yol, en kısa olandan iki kat daha uzun değilse, ağaç kırmızı-siyah bir renge sahiptir.
İşte herhangi bir düğümün rengini bulmak için bir algoritma n
if n is root,
n.color = black
n.black-quota = height n / 2, rounded up.
else if n.parent is red,
n.color = black
n.black-quota = n.parent.black-quota.
else (n.parent is black)
if n.min-height < n.parent.black-quota, then
error "shortest path was too short"
else if n.min-height = n.parent.black-quota then
n.color = black
else (n.min-height > n.parent.black-quota)
n.color = red
either way,
n.black-quota = n.parent.black-quota - 1
Düğümden n.black-quota
bir yaprağa gitmeyi beklediğiniz siyah düğümlerin sayısı n
ve n.min-height
en yakın yaprağa olan uzaklıktır.
Gösterimin kısalığı için, , h ( n ) = ve m ( n ) = olsun .b(n)= n.black-quota
h(n)= n.height
m(n)= n.min-height
Teorem: Bir ikili ağacı düzeltin . Her n ∈ T düğümü için , h ( n ) ≤ 2 m ( n ) ve r düğümü için = kök ( T ) , b (Tn∈Th(n)≤2m(n)r=root(T)sonraTb(r)∈[12h(r),m(r)]T , kökten yaprağa kadar her yolda tam olarak siyah düğümleri olan kırmızı-siyah bir renge sahiptir .b(r)
Kanıt: üzerindeki indüksiyon .b(n)
Bir veya iki yükseklikteki dört ağacın da b ile teoremi yerine getirdiğini doğrulayın..b(n)=1
Kırmızı-siyah ağacın tanımı ile kök siyahtır. , siyah bir ebeveyn p'ye sahip bir düğüm olsun ki b (np. Sonrab(n)=b(p)-1,h(n)=h(p)-1veh(n)≥m(n)≥m(p)-1.b(p)∈[12h(p),m(p)]b(n)=b(p)−1h(n)=h(p)−1h(n)≥m(n)≥m(p)−1
Teoremin kök , b ( r ) < b ( q ) olan tüm ağaçlar için geçerli olduğunu varsayın .rb(r)<b(q)
Eğer , daha sonra n- endüktif varsayımı kırmızı renkli siyah olabilir.b(n)=m(n)n
Eğer sonrab(nb(p)=12h(p). nendüktif varsayımı karşılamaz ve bu nedenle kırmızı olmalıdır. Cn'ninçocuğuolsun. h(c)=h(p)-2ve b(c)=b(pb(n)=⌈12h(n)⌉−1ncnh(c)=h(p)−2 . Daha sonra c endüktif varsayımla kırmızı-siyah renklendirilebilir.b(c)=b(p)−1=12h(p)−1=12h(c)c
Aynı mantıkla, , daha sonra her ikiNve bir altnendüktif varsayımı karşılamaktadır. Bu nedenlenherhangi bir renge sahip olabilir.b(n)∈(12h(r),m(r))nnn