ต้นไม้ไดนามิกมีบทบาทสำคัญในการแก้ปัญหาต่าง ๆ เช่นการไหลของเครือข่ายกราฟไดนามิกปัญหา combinatorial ("Dynamic Trees in Practice" โดย Tarjan และ Werneck) และเมื่อเร็ว ๆ นี้ได้รวมพจนานุกรม ("A Mergeable Dictionary" โดย Adam Karczmarz)
โดยต้นไม้ไดนามิกฉันอ้างถึงคำจำกัดความที่ระบุไว้ในกระดาษของ Sleator & Tarjan "โครงสร้างข้อมูลสำหรับต้นไม้ไดนามิก" ในปี 1983 ความพยายามน้อยได้รับการเผยแพร่ภายในขอบเขตการวิจัยการเขียนโปรแกรมการทำงานตั้งแต่
- เอ็ดเวิร์ด Kmett ดำเนินการรุ่นของต้นไม้ ST ส่วนใหญ่เป็นคำแปลของภาษา C ++ คู่ให้ดูต้นไม้ Link-ตัด
- Chris Okasaki เขียนการนำต้นไม้ Splay ไปใช้อย่าง จำกัด ในหนังสือที่โด่งดังของเขา
- Ralf Hinze และ Ross Paterson เปิดตัวโครงสร้างข้อมูลที่เรียกว่าต้นไม้ 2-3 นิ้ว แต่มีจุดประสงค์ที่แตกต่างจากคำนิยามดั้งเดิมของต้นไม้แบบไดนามิก
การดำเนินการ (และประสิทธิภาพ) ของต้นไม้ไดนามิกถูกแบ่งออกเป็นสามแนวทาง:
- การสร้างเส้นตรงที่ต้นไม้ ET (ทัวร์ออยเลอร์) มีบทบาทที่ยอดเยี่ยม ไม่พบการศึกษาการทำงานอย่างหมดจด
- เส้นทางการสลายตัวที่ต้นไม้ ST เป็นเรือธงเพิ่งจะพบเวอร์ชั่นของ Kmett
- Tree contraction, ที่ต้นไม้อันดับต้น, ต้นไม้โครงสร้างและต้นไม้ RC เป็นผู้เล่น ไม่พบการศึกษาการทำงานอย่างหมดจด
การวิเคราะห์และการใช้งานอย่างหมดจดสามารถพบได้ใน Splay, AVL, ต้นไม้สีแดงดำ แต่ไม่ได้เป็นต้นไม้แบบไดนามิก อดีตถือว่าเป็นเงา (หรือที่เรียกว่าเสมือนหรือเสริม) โครงสร้างข้อมูลของหลัง
ดังนั้นคำถามของฉันคือ:
อะไรคือเหตุผล (ข้อเสียเปรียบจุดอ่อน) สำหรับชุมชนการวิจัยการเขียนโปรแกรมเชิงหน้าที่ไม่ให้เข้าร่วมในโครงสร้างข้อมูลต้นไม้แบบไดนามิก?