ผู้เขียน หัวข้อ: ต้นไม้ (โครงสร้างข้อมูล) :AO  (อ่าน 2 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

09-10-2018 , 02:01:26
  • Hero Member
  • *****
  • กระทู้: 1332
    • ดูรายละเอียด

องค์ประกอบของต้นไม้

เงื่อน (node) เป็นสิ่งที่เก็บสมาชิกของต้นไม้ พนันบอลออนไลน์

ราก (root) หมายคือเงื่อนที่พวกเราใช้เริ่มค้นหาด้านในต้นไม้ ถ้าหากเป็น null หมายความว่าต้นไม้ว่าง (empty tree)

เงื่อนลูก (child node) ซึ่งก็คือเงื่อนที่แตกออกมาจากของเงื่อนดังที่กล่าวถึงมาแล้ว ส่วนเงื่อนที่เงื่อนดังที่ได้กล่าวมาแล้วแตกมาเรียกว่า เงื่อนบิดา (parent node) และก็เรียกเงื่อนบิดาของเงื่อนบิดาว่า เงื่อนปู่ (grandparent node) รวมทั้งเรียกเป็นลำดับการนับพี่น้องข้างบิดาไปเรื่อยส่วนเงื่อนลูกของเงื่อนลูกก็จะเป็นเงื่อนหลาน (grandchild node) ไปเรื่อยเป็นลำดับการเรียกพี่น้องข้างลูก

เงื่อนที่มีเงื่อนบิดาเป็นเงื่อนเดียวกันเรียกว่า เงื่อนญาติพี่น้อง (sibling node)

เงื่อนที่มี m ลูก พวกเราจะเรียกว่า เงื่อนแบบ m (m-type node)

ใบ (leaf node) เป็นเงื่อนที่ไม่มีเงื่อนลูก

การเขียนต้นไม้มักเขียนเงื่อนรากอยู่ด้านบน แล้วก็เขียนแตกกิ่งลงมาให้เงื่อนใบอยู่ด้านล่าง

ความลึกของเงื่อน (node depth) หมายความว่าปริมาณครั้งของความเกี่ยวข้องเชิงบิดา-ลูก ระหว่าง เงื่อนรากถึงเงื่อนอะไรก็ตาม

ความสูง (tree height) หมายคือความลึกของใบที่ลึกที่สุด สำหรับต้นไม้ที่มีเพียงแต่รากจะสูง 0 รวมทั้งต้นไม้ว่างบางทีอาจตั้งได้ว่าสูง -1

ต้นไม้ย่อย (subtree) คือต้นไม้ย่อยที่ใช้สมาชิกของต้นไม้ที่พวกเราไตร่ตรอง ไปเป็นรากทำให้ เงื่อนลูกเงื่อนหลานที่อยู่ใต้สมาชิกตัวนั้นแปลงเป็นสมาชิกของต้นไม้ย่อยไปด้วย

ต้นไม้พิเศษ

ต้นไม้ค้นหา (search tree) ซึ่งก็คือต้นไม้ที่ตามเงื่อนใดๆก็ตามต้นไม้ย่อยจะน้อยกว่า มากยิ่งกว่า หรืออยู่ระหว่าง สมาชิกของเงื่อนนั้น ในลักษณะการจัดเรียงลำดับ สำหรับต้นไม้ค้นหาที่มีเงื่อนแบบ m ใดๆก็ตามย่อมมีสมาชิกให้เปรียบ m-1 ตัวในเงื่อนนั้น ยกตัวอย่างเช่น เงื่อนแบบสาม จะมีสมาชิกสองตัว

ต้นไม้ m ภาค (m-ary tree) เงินสดหมายความว่าต้นไม้ที่ใช้แต่ว่าเงื่อนแบบ m กล่าวอีกนัยหนึ่งมี m ลูก

ต้นไม้แบบทวิภาค (binary tree) คือต้นไม้ที่มีเพียงแต่เงื่อนแบบสอง

ต้นไม้ค้นหาแบบทวิภาค (binary search tree) คือต้นไม้ซึ่งมีก็เพียงแต่เงื่อนแบบสอง โดยต้นไม้ย่อยของลูกซ้าย (left child subtree) จะมีค่าน้อยกว่าเงื่อนนั้นๆและก็ต้นไม้ย่อยของลูกขวา (right child subtree) จะมีค่ามากยิ่งกว่าเงื่อนนั้นๆ

ต้นไม้รับรองการทำงาน ซึ่งก็คือต้นไม้ที่รับรองความเร็วการทำงานเป็น O (log n)

ต้นไม้รับรองความสูง หมายความว่าต้นไม้ที่รับรองความสูงเป็น O (log n) ต้นไม้รับรองความสูงย่อมฯลฯไม้รับรองการทำงานไปด้วย

ต้นไม้ได้ดุล (balanced tree) หมายคือต้นไม้ที่มีความสูงต่ำสุดเท่าที่เป็นได้สำหรับชุดข้อมูลอะไรก็ตามต้นไม้ได้ดุลย่อมฯลฯไม้ที่รับรองความสูงไปด้วย

ต้นไม้เติมเต็ม (completed tree) หมายคือต้นไม้ที่เงื่อนอะไรก็แล้วแต่สามารถมีลูกได้ก็เมื่อเงื่อนลูกพี่ลูกน้องทางด้านซ้ายมีลูกเพียงแค่นั้น ต้นไม้เติมเต็มย่อมฯลฯไม้ได้ดุลไปด้วย

ฮีป (heap) คือต้นไม้ที่เมื่อไตร่ตรองในต้นไม้ย่อยอะไรก็ตามในต้นไม้ รากจะมีความหมาย (priority) เยอะที่สุด