Mari kita asumsikan definisi pohon merah-hitam berikut:
- Ini adalah pohon pencarian biner.
- Setiap node berwarna merah atau hitam. Akar hitam.
- Dua node yang dihubungkan oleh sebuah edge tidak bisa berwarna merah pada saat bersamaan.
- Ini seharusnya definisi yang bagus untuk daun NIL, seperti pada wiki. Daun NIL berwarna hitam.
- Jalur dari root ke sembarang daun NIL berisi jumlah simpul hitam yang sama.
Pertanyaan
Misalkan Anda telah menerapkan insert
dan delete
operasi untuk pohon merah-hitam. Sekarang, jika Anda diberi pohon merah-hitam yang valid, apakah selalu ada urutan insert
dan delete
operasi yang membangunnya?
Motivasi
Pertanyaan ini dimotivasi oleh pertanyaan ini dan oleh diskusi dari pertanyaan ini .
Secara pribadi, saya percaya bahwa jika Anda membayangkan pohon merah-hitam yang valid yang hanya terdiri dari simpul hitam (yang menyiratkan bahwa Anda membayangkan pohon yang seimbang sempurna), ada urutan insert
dan delete
operasi yang membangunnya. Namun,
- Saya tidak tahu bagaimana membuktikannya secara akurat
- Saya juga tertarik pada kasus yang lebih umum
insert
dan delete
untuk membangun pohon merah-hitam yang valid yang hanya terdiri dari simpul hitam . Menggunakan penyisipan / penghapusan untuk membuat pohon tinggi h . Pertama, kita dapat membuat pohon merah-hitam yang seimbang sempurna dengan cara pertama-lebar menggunakan 2 h + 1 - 1 penyisipan, kemudian menggunakan h ∗ 2 jam - 1insersi dan jumlah penghapusan yang sama mengecatnya menjadi pohon yang benar-benar hitam. Kuncinya di sini adalah untuk naik kali lapisan merah terendah naik pohon sampai mencapai akar.
insert
dan delete
operasi tertentu?
insert
dan delete
; mungkin ada beberapa cara untuk melakukan operasi ini. b) Karena pohon RB pada dasarnya adalah pohon B dari orde 4, orang dapat mencari inspirasi di sana. Detail mungkin terbukti sulit karena pemetaan dari RB ke B (dan / atau mundur) tidak unik.