Bu yüzden Cormen'de kırmızı siyah ağaçlar öğrendim ve vay canına! Tipik olarak tüm algoritmaları ve veri yapılarını, sahte kodlara bakmaktan hile yapmak zorunda kalmadan sıfırdan yeniden oluşturabildiğim noktaya kadar anlamak isterim. Ben gerçekten nasıl çalıştığını öğrenmek zevk algoritmalar seviyorum ve genellikle satır satır gidin ve koda bakarak ve ne olması gerektiğini anladım olup olmadığını kontrol ederek bazı durumlarda deneyin.
Sadece neler olduğunu anlamak bana RB ağaçları için çok zaman aldı. Kitabın açıklamalarında bile, kodu kavramakta zorlanıyordum. Döndürmelerin nasıl / neden çalıştığını anlayamadığımı belirtmiyorum. Hiç sezgisel bulmuyorum. Demek istediğim, yerleştirme için üç (altı aslında) farklı vaka ve sonra silme için 4 vaka? Bu şeyi anlamak mümkün mü? Hile yapmadan bu kodu yeniden oluşturmak benim için imkansız. İkili ağaca kadar, kafamdan bir şeyler uygulayabilirdim, bazı tweaking ile her zaman işe yarayacaktı, ama RB ağaçları denemeyeceğim bile. Demek istediğim, bazen öğretmen bile karıştı, bu yüzden o kadar kolay olmadığını düşünüyorum, ama aynı zamanda, olan her şeyi anlamamıza gerek yok, en azından neden? Kitap yapmadı gerçekten birisinin rotasyon fikrini nasıl ortaya çıkardığını açıklamayın. Birisi 2 tur ile herhangi bir yerleştirme problemini çözebileceğinizi nasıl fark etti? Bu inanılmaz!
Benim sorum, gerçekten% 100 RB ağaçlarını anlamak zorunda mıyım? Tam olarak anlamadan bir tür kötü şeyler atlıyorum. Şimdiden teşekkürler çocuklar! (PS: RB ağacı için etiket yok, aslında ağaç için bile değil, sadece ikili ağaç, bu yüzden sadece algoritmalar koydum)