ดังนั้นฉันเพิ่งเรียนรู้ต้นไม้สีดำสีแดงที่ Cormen และว้าว! โดยทั่วไปแล้วฉันชอบที่จะเข้าใจอัลกอริธึมและโครงสร้างข้อมูลทั้งหมดจนถึงจุดที่ฉันสามารถสร้างมันใหม่ตั้งแต่ต้นโดยไม่ต้องโกงดูรหัสหลอก ฉันชอบอัลกอริธึมดังนั้นฉันสนุกกับการเรียนรู้วิธีทำงานและฉันมักจะไปทีละบรรทัดและลองบางกรณีโดยดูที่รหัสและตรวจสอบว่าเกิดอะไรขึ้นเป็นสิ่งที่ฉันเข้าใจว่าควรจะเกิดขึ้น
แค่เข้าใจว่าเกิดอะไรขึ้นฉันใช้เวลามากมายกับต้นไม้ RB แม้จะมีคำอธิบายของหนังสือฉันก็ยังพบว่ามันยากที่จะเข้าใจรหัส ไม่ต้องพูดถึงว่าฉันไม่เข้าใจวิธีการทำงานของเหตุหมุน ฉันไม่พบว่าใช้งานง่ายเลย ฉันหมายถึงกรณีที่แตกต่างกันสาม (หก) จริงสำหรับการแทรกและจากนั้น 4 กรณีสำหรับการลบ? เป็นไปได้ไหมที่จะเข้าใจสิ่งนี้ เป็นไปไม่ได้ที่ฉันจะสร้างรหัสนี้ใหม่โดยไม่ต้องโกง จนกระทั่งต้นไม้ไบนารีฉันสามารถนำสิ่งต่าง ๆ ออกมาจากหัวของฉันด้วยการปรับแต่งบางอย่างมันจะใช้ได้เสมอ แต่ต้นไม้ RB ฉันจะไม่ลองด้วยซ้ำ ฉันหมายถึงแม้ครูจะสับสนในบางครั้งดังนั้นฉันคิดว่ามันไม่ง่ายเลย แต่ในเวลาเดียวกันเราไม่ควรที่จะเข้าใจทุกสิ่งที่เกิดขึ้นหรืออย่างน้อยก็ทำไม? หนังสือทำไม่ได้ ไม่อธิบายว่ามีบางคนคิดเรื่องการหมุนอย่างไร มีใครสังเกตเห็นว่าด้วยการหมุน 2 รอบคุณสามารถแก้ปัญหาการแทรกได้อย่างไร ที่น่าตื่นตาตื่นใจ!
คำถามของฉันคือฉันต้องเข้าใจต้นไม้ RB 100% จริง ๆ หรือไม่ ฉันรู้สึกว่าการกระโดดข้ามสิ่งเลวร้ายโดยไม่เข้าใจอย่างถ่องแท้ ขอบคุณล่วงหน้านะ! (PS: ไม่มีแท็กสำหรับ RB-tree จริงๆแล้วไม่ได้แม้แต่กับ tree แค่ binary-tree ดังนั้นฉันจึงใส่อัลกอริธึมเท่านั้น)