ค32213 คณิตศาสตร์สำหรับคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม ต้นไม้ค้นหาทวิภาค ค32213 คณิตศาสตร์สำหรับคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
ต้นไม้ทวิภาค ต้นไม้ทวีภาค (binary tree) คือ ต้นไม้ที่มี ลักษณะใดลักษณะหนึ่งดังต่อไปนี้ 1. ต้นไม้ว่าง (empty tree) 2. ต้นไม้ที่ประกอบด้วย 3 ส่วนคือ 2.1 ราก 2.2 ต้นไม้ย่อยทางซ้าย (left subtree) ของราก 2.3 ต้นไม้ย่อยทางขวา (right subtree) ของราก โดยต้นไม้ย่อยทางซ้ายและขวาต้องเป็นต้นไม้ทวิภาค
ต้นไม้ค้นหาทวิภาค ใช้ในการเรียงข้อมูลเพื่อเพิ่มความรวดเร็วในการ ค้นหา ต้นไม้ค้นหาทวิภาคที่มีจำนวนข้อมูล n จะใช้เวลาใน การค้นหา log2 n เช่น มีจำนวนข้อมูล 32 จะใช้เวลาการค้นหามาก ที่สุด log232 = 5 ครั้ง เช่น มีจำนวนข้อมูล 32 จะใช้เวลาการค้นหามาก ที่สุด log264= 6 ครั้ง
นิยามต้นไม้ค้นหาทวิภาค ต้นไม้ค้นหาทวิภาค (binary search tree) คือ ต้นไม้ทวิภาคที่มีสมบัติ ดังต่อไปนี้ 1. ทุกโหนดสามารถเปรียบเทียบค่ามากน้อยได้ 2. ข้อมูลของโหนดใดๆ จะมีค่ามากกว่าหรือเท่ากับ โหนดที่อยู่ทางซ้าย และ มีค่าน้อยกว่าโหนดที่อยู่ ทางด้านขวา
การสร้างต้นไม้ค้นหาทวิภาค ต้นไม้ที่จะเกิดขึ้นขึ้นอยู่กับ ลำดับของข้อมูลที่เข้ามา วิธีการสร้างจะสร้างขึ้นตามนิยามของต้นไม้ค้นหา ทวิภาค
วิธีการสร้างต้นไม้ค้นหาทวิภาค อ่านข้อมูลทีละค่าจนหมดข้อมูล ถ้าเป็นต้นไม้ว่างให้ข้อมูลนั้นเป็นโหนด แต่ถ้าไม่ว่าง ถ้า ข้อมูลนั้นน้อยกว่าหรือเท่ากับราก ให้ใส่ข้อมูล ทางซ้ายแบบต้นไม้ค้นหาทวิภาค แต่ถ้า ข้อมูลนั้นมากกว่ารากให้ใส่ข้อมูลไปทางขวา แบบต้นไม้ค้นหาทวิภาค
ตัวอย่างการสร้างต้นไม้ค้นหาทวิภาค 4 7 5 3 1 8 6 5 4 3 7 5 1 8 5 6
ตัวอย่างการสร้างต้นไม้ค้นหาทวิภาค 3 1 8 6 5 4 7 5 3 1 8 6 5 7 4 5