More Related Content
More from Kitdamas Wangpreecha
More from Kitdamas Wangpreecha (6)
Tree
- 4. จากภาพที่ 1 สามารถท่องเข้าไปในต้นไม้ค้นหาทวิภาค เพื่อเข้าถึงข้อมูลของแต่ละโหนดได้ทั้ง 3 แบบ
ดังนี้
ลําดับข้อมมูลเมื่อมีการท่องแบบก่อนลําดับ (Preorder Traversal) คือ
71,65,63,6,67,85,85,85,89,99
ลําดับข้อมูลเมื่อมีการท่องแบบตามลําดับ (Inorder Traversal) คือ
6,63,65,67,71,78,85,85,89,99
ลําดับข้อมูลเมื่อมีการท่องแบบหลังลําดับ (Postorder Traversal) คือ
6,63,67,65,78,85,99,89,85,71
จากการท่องเข้าไปในต้นไม้ค้นหาทวิภาคแบบตามลําดับ จะได้ข้อมูลที่เรียงลําดับจากน้อยไปหามาก
ต้นไม้ค้นหาทวิภาค
- 7. การลบโหนด
การลบโหนดออกจากต้นไม้ค้นหาทวิภาค สามารถแบ่งได้เป็น 3 กรณี คือ
กรณีที่ 1 กรณีที่โหนดที่ต้องการลบเป็นโหนดใบ ให้ลบโหนดนั้นได้ทันที
กรณีที่ 2 กรณีที่โหนดที่ต้องการลบเป็นโหนดที่มีลูกด้านเดียว ให้โหนดลูกของโหนดที่
ต้องการลบไปเป็นโหนดลูกของโหนดพ่อของโหนดที่ต้องการลบ แล้วจึงลบโหนดที่ต้องการ
กรณีที่ 3 กรณีที่โหนดที่ต้องการลบเป็นโหนดที่มีลูกทั้งสองด้าน ให้พิจารณาทั้งหมดของ
ต้นไม้ย่อยทางด้านขวาของโหนดที่ต้องการลบว่าโหนดใดมีค่าน้อยที่สุด หรือพิจารณาโหนดทั้งหมด
ของต้นไม้ย่อยทางด้านซ้ายของโหนดที่ต้องการลบว่าโหนดใดมีค่ามากที่สุด เพื่อนํามาสลับตําแหน่ง
กับโหนดที่ต้องการลบ จากนั้นให้พิจารณาโหนดที่ต้องการลบสอีกครั้งว่าเข้ากรณีใด
ต้นไม้ค้นหาทวิภาค
- 8. ต้นไม้ค้นหาทวิภาคจะต้องเป็นต้นไม้ทวิภาคที่เป็นโครงสร้างข้อมูลแบบ
ต้นไม้ชนิดหนึ่ง ที่แต่ละโหนดมีลูกได้ไม่เกิน 2 โหนด คือลูกทางซ้าย และลูกทางขวา
โดยลักษณะพิเศษจําเพาะของต้นไม้ค้นหาทวิภาคคือแต่ละโหนดมีโหนดลูกอย่างมาก
ที่สุดเท่ากับ 2 ถ้าเกินนั้นแสดงว่าไม่ใช่ต้นไม่ค้นหาทวิภาค กล่าวคือมีโหนดลูก 2
โหนด ต่อหนึ่งโหนดโดยที่ข้อมูลของต้นไม้ด้านซ้ายจะต้องน้อยกว่าตัวข้อมูลของ
ต้นไม้ด้านขวา โดยจุดเด่นของต้นไม้ค้นหาทวิภาคคือความสามารถในการนําเอาข้อมูล
เข้า ความสามารถในวการนวําเอาข้อมูลออก และการเรียงลําดับข้อมูลตลอดเวลาทําให้
ตัดออกเป็นส่วนๆ ทําให้สเวลาในการค้นหากระทําได้ดี แต่ในบางกรณีที่ต้นไม้ยาวซึ่ง
จะทําให้ต้นไม้ทํางานช้าไม่สามารถรับประกันประสิทธิภาพได้ ซึ่งจะนําไปสู่แนวคิด
ในการทําต้นไม้เอวีแอลในหัวข้อถัดไป
ต้นไม้ค้นหาทวิภาค