ผู้เขียน หัวข้อ: ส่วนประกอบของต้นไม้ :FN  (อ่าน 8 ครั้ง)

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

ออนไลน์ bmKamBungX

  • Hero Member
  • *****
  • กระทู้: 1874
    • ดูรายละเอียด
ส่วนประกอบของต้นไม้ :FN
« เมื่อ: 08-11-2018 , 19:59:49 »
ต้นไม้ (อังกฤษ: Tree) เป็น แบบจำพวกข้อมูลสิ่งที่เป็นนามธรรม ชนิดหนึ่ง มีลักษณะการจัดลำดับเป็นแขนงแตกกิ่งออกไป จะไม่มีวงวน (loop) โยงในสมาชิกตัวต่างๆโดยสมาชิกจะถูกเก็บไว้ภายในชนิดข้อมูลจำพวกวัตถุ (Object) หรือส่วนประกอบ (Structure) เรียกว่าเงื่อน (node) ซึ่งจะมีตัวแปรซึ่งเก็บเนื้อเก็บตัวชี้ (Pointer) ไปยังเงื่อนอื่นๆได้
สมัครufabetต้นไม้ถูกใช้เพื่อการจัดแจงข้อมูลที่เทียบกันได้ (comparable) อย่างเร็วเป็นต้นว่า จำนวน หรือ การจัดลำดับufabetลำดับความสำคัญของข้อมูล ได้แก่ การคำนวณที่มีวงเล็บ เป็นต้น

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

เงื่อน (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) หมายความว่าต้นไม้ย่อยที่ใช้สมาชิกของต้นไม้ที่พวกเราไตร่ตรอง ไปเป็นรากนำมาซึ่งการทำให้ เงื่อนลูกเงื่อนหลานที่อยู่ใต้สมาชิกตัวนั้นแปลงเป็นสมาชิกของต้นไม้ย่อยไปด้วย

ต้นไม้พิเศษ