Jika untuk setiap simpul pohon, jalur terpanjang dari itu ke simpul daun tidak lebih dari dua kali lebih lama dari yang terpendek, pohon memiliki pewarnaan merah-hitam.
Berikut ini adalah algoritma untuk mengetahui warna dari simpul apa pun 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
Berikut n.black-quota
adalah jumlah simpul hitam yang Anda harapkan untuk melihat pergi ke daun, dari simpul n
dan n.min-height
jarak ke daun terdekat.
Untuk singkatnya notasi, misalkan , h ( n ) = dan m ( n ) = .b(n)= n.black-quota
h(n)= n.height
m(n)= n.min-height
Teorema: Perbaiki pohon biner . Jika untuk setiap simpul n ∈ T , h ( n ) ≤ 2 m ( n ) dan untuk simpul r = root ( T ) , b (Tn∈Th(n)≤2m(n)r=root(T)laluTb(r)∈[12h(r),m(r)]T memiliki pewarnaan merah-hitam dengan tepat simpul hitam di setiap jalur dari akar ke daun.b(r)
Bukti: Induksi lebih dari .b(n)
Verifikasi bahwa keempat pohon dengan tinggi satu atau dua memenuhi teorema dengan .b(n)=1
Menurut definisi pohon merah-hitam, root adalah hitam. Biarkan menjadi simpul dengan p induk hitam sehingga b (np. Kemudianb(n)=b(p)-1,h(n)=h(p)-1danh(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
Asumsikan teorema berlaku untuk semua pohon dengan root , b ( r ) < b ( q ) .rb(r)<b(q)
Jika , maka n dapat berwarna merah-hitam dengan asumsi induktif.b(n)=m(n)n
Jika lalub(n)=⌈1b(p)=12h(p). ntidak memenuhi asumsi induktif dan karenanya harus merah. Biarkancmenjadi anak darin. h(c)=h(p)-2dan b(c)=b(p)-1=1b(n)=⌈12h(n)⌉−1ncnh(c)=h(p)−2 . Maka c dapat diwarnai merah-hitam dengan asumsi induktif.b(c)=b(p)−1=12h(p)−1=12h(c)c
Perhatikan bahwa, dengan alasan yang sama, jika , makandan anaknmemenuhi asumsi induktif. Karenanyandapat memiliki warna apa pun.b(n)∈(12h(r),m(r))nnn