Tree ประกอบด้วยอะไรบ้าง? เข้าใจ Terminology ของ Tree ใน 1 นาที | Simply Explained! - LearnAlgorithm
Simply Explained! April 8, 2025
|
3 mins read

Tree ประกอบด้วยอะไรบ้าง? เข้าใจ Terminology ของ Tree ใน 1 นาที

ทำความเข้าใจศัพท์ต่าง ๆ ของ Tree data structure (Rooted tree)

Tree ประกอบด้วยอะไรบ้าง? เข้าใจ Terminology ของ Tree ใน 1 นาที

Tree (หรือ rooted tree) นั้นประกอบไปด้วยอะไรบ้าง?

ในโพสที่แล้ว เราได้คุยกันไปว่า tree ในมุมมองของ graph theory คืออะไร และคุยกันไปถึงเรื่องของ rooted tree ที่เราเลือกหยิบ vertex ใด vertex หนึ่งมานิยามมันว่าเป็น “root vertex”

(ทำให้เราสามารถเขียน rooted tree ออกมาเป็นชั้น ๆ ได้แบบในภาพปกเลย)

แน่นอนว่าการกำหนด “root vertex” (หรือ vertex เริ่มต้น) มันทำให้เกิดหลาย ๆ concept เกิดขึ้นตามมา สำหรับในโพสนี้เราจะมา explore concept เหล่านั้นกัน

✦ อย่างแรกเลยการกำหนด root มันทำให้เราบอกได้ว่า “vertex หนึ่ง ๆ อยู่ห่างจาก root เท่าไหร่” สิ่งนี้ก็คือสิ่งที่เราเรียกว่า “level” นั่นเอง เช่น node F อยู่ใน level 2 เพราะอยู่ห่างจาก root สองก้าว (จะเห็นว่า level เริ่มต้นที่ 0)

“height” หรือความสูงของ tree ก็คือ “ความยาวที่มากที่สุดจาก root ไปที่ vertex ล่างสุด (เรียกว่า leaf vertex)” จากในตัวอย่างมี height = 3

“leaf vertex” คือ vertex ที่ไม่มี edge เชื่อมไปยัง vertex อื่น ๆ ที่มี level ต่ำกว่าอีกแล้ว (หรือ vertex ที่ไม่มี children) เช่น vertex H, I, J, F และ G; ตรงข้ามกับ root ที่ไม่มี edge เชื่อมไปยัง vertex ที่มี level สูงกว่าอีกแล้ว (หรือ vertex ที่ไม่มี parent)

“parent” คือ vertex ที่อยู่ติดกันใน level ที่สูงกว่า; ยกตัวอย่างเช่น vertex H จะมี parent เป็น vertex D หรือ vertex F จะมี parent เป็น vertex C

“child” คือ vertices ที่อยู่ติดกันใน level ที่ต่ำกว่า; ยกตัวอย่างเช่น vertex D เราจะมี child สองตัวได้แก่ vertex H กับ I)

“sub-tree” เป็น tree ย่อย ๆ ที่อยู่ใน tree ใหญ่อีกที (จะเห็นว่ามี recursive structure)

“siblings” คือ vertex ที่มี parent เดียวกันและอยู่ใน level เดียวกัน

ความน่าสนใจก็คือ concept เหล่านี้ ไม่ว่าจะเป็น parent-child relationship, height/levels หรืออะไรก็ตามจะไม่เกิดขึ้นเลยถ้าเราไม่กำหนด “root vertex”

มันน่าสนใจมากว่าบางที “การเปลี่ยน property แค่นิดเดียว” สามารถส่งผลให้เกิด “implication หรือโครงสร้างที่น่าสนใจ” ตามมาให้เราได้ค้นหาเพิ่มอีกมากมาย

Chun Rapeepat

Rapeepat Kaewprasit (Chun)

คน ๆ หนึ่งที่ชื่นชอบในการสร้าง การทำธุรกิจ และการได้ลองทำอะไรใหม่ ๆ ไปเรื่อย ๆ