30
วิธีการค้นหาบรรพบุรุษร่วมที่ต่ำที่สุดของสองโหนดในต้นไม้ไบนารีใด ๆ ?
แผนผังไบนารีที่นี่อาจไม่จำเป็นต้องเป็นแผนผังการค้นหาแบบไบนารี โครงสร้างสามารถนำมาเป็น - struct node { int data; struct node *left; struct node *right; }; วิธีแก้ปัญหาสูงสุดที่ฉันสามารถทำได้กับเพื่อนคืออะไรบางอย่างในประเภทนี้ - พิจารณาต้นไม้ไบนารีนี้ : อัตราการเคลื่อนที่ผ่านของ inorder - 8, 4, 9, 2, 5, 1, 6, 3, 7 และผลตอบแทนการสำรวจเส้นทาง postorder - 8, 9, 4, 5, 2, 6, 7, 3, 1 ตัวอย่างเช่นถ้าเราต้องการหาบรรพบุรุษร่วมของโหนด 8 และ 5 จากนั้นเราจะทำรายการโหนดทั้งหมดที่อยู่ระหว่าง 8 และ …