ทรีไบนารีในโครงสร้างข้อมูล: คุณสมบัติ ประเภท การเป็นตัวแทน & ประโยชน์
เผยแพร่แล้ว: 2020-05-22โครงสร้างข้อมูลประเภทต่างๆ ได้แก่ ต้นไม้ไบนารีที่มีการใช้งานมากกว่าประเภทอื่นๆ ส่วนใหญ่ แอปพลิเคชันที่โดดเด่นที่สุด ได้แก่ การเขียนโปรแกรมแบบเพียร์ทูเพียร์ การค้นหา การเข้ารหัส เราเตอร์เครือข่ายที่มีแบนด์วิดท์สูงกว่าอื่นๆ และวิดีโอเกม 3 มิติ ตอนนี้เราจะหารือในรายละเอียดว่าต้นไม้ไบนารีในวิทยาศาสตร์ข้อมูลคืออะไร ประเภทของพวกเขาคืออะไร และแสดงอย่างไร
สารบัญ
ต้นไม้ไบนารีคืออะไร?
หากคุณเคยทำงานบนต้นไม้ธรรมดามาก่อนหรือรู้ถึงพื้นฐานมาก่อน คุณจะรู้ว่าไม่มีข้อจำกัดในเรื่องจำนวนลูกที่อนุญาตให้มีโหนดต่างๆ ในต้นไม้เหล่านี้ ต้นไม้ไบนารีมีความแตกต่างเล็กน้อยในแง่นี้ ทุกพาเรนต์หรือโหนดในไบนารีทรีสามารถมีลูกได้เพียงสองคนเท่านั้น
โหนดทั้งหมดในไบนารีทรีมีสามองค์ประกอบหลัก –
- องค์ประกอบข้อมูล
- การอ้างอิงที่ถูกต้อง
- อ้างอิงซ้าย
โหนดที่อยู่ด้านบนของต้นไม้เรียกว่าโหนดรูท โหนดหลักคือโหนดที่มีลูก โหนดย่อยและโหนดหลักเชื่อมต่อกันผ่านการอ้างอิง โหนดที่ไม่มีลูกจะเรียกว่าโหนดปลายสุด
เห็นได้ชัดว่าโหนดในไบนารีทรีสามารถมีลูกหนึ่งคน ลูกสองคน หรือไม่มีลูกเลยก็ได้ ทรีไบนารีไม่ใช่โครงสร้างข้อมูลเชิงเส้น เช่น คิว อาร์เรย์ สแตก และรายการที่เชื่อมโยง เป็นโครงสร้างข้อมูลแบบลำดับชั้นแทน
เช็คเอาท์: แนวคิดโครงงานวิทยาศาสตร์ข้อมูลสำหรับผู้เริ่มต้น
คุณสมบัติที่สำคัญของโหนดในไบนารีทรี
ความเข้าใจที่ดีขึ้นเกี่ยวกับคุณสมบัติเหล่านี้จะช่วยให้คุณได้รับประโยชน์สูงสุดจากการสนทนานี้ในไบนารีทรี ความลึกของโหนดต่าง ๆ ถูกกำหนดให้เป็นจำนวนโหนดที่มีอยู่ในวิธีที่เชื่อมต่อรูทกับโหนดเฉพาะ นั่นคือเหตุผลที่ความลึกของโหนดรูทเป็น 0 ในทางกลับกัน ความสูงของโหนดต่างๆ ในไบนารีทรีคือจำนวนของโหนดที่อยู่ในเส้นทางที่เชื่อมต่อโหนดหนึ่งๆ กับโหนดรูท นั่นคือเหตุผลที่ความสูงของโหนดลีฟเป็น 0
ดังที่คุณเห็นได้ชัดเจน ความลึกของโหนดถูกวัดโดยเริ่มจากโหนดรูทแล้วลงไปถึงโหนดนั้น ในทางกลับกัน เมื่อพูดถึงการคำนวณความสูง เราจะเริ่มต้นที่โหนดที่เป็นปัญหา จากนั้นจึงเดินทางไปยังโหนดรูท ทั้งสองครั้งเราเริ่มต้นที่ 0 มีคนที่วัดความสูงและความลึกจาก 1 ด้วยไม่ใช่จาก 0 ซึ่งไม่ผิดและเป็นสิ่งที่คนอื่นชอบ
ตอนนี้ความลึกสูงสุดของโหนดถูกกำหนดเป็นความลึกของไบนารีทรี ในทำนองเดียวกัน ความสูงสูงสุดของโหนดถูกกำหนดให้เป็นความสูงของไบนารีทรี ดังนั้นความสูงและความลึกของต้นไม้ไบนารีจึงเท่ากันเสมอ
เรียนรู้เพิ่มเติม: โครงสร้างข้อมูล & อัลกอริธึมใน Python
ต้นไม้การค้นหาแบบไบนารีคืออะไร
ต้นไม้ค้นหาไบนารีเป็นต้นไม้ไบนารีประเภทอื่นๆ ที่พบได้บ่อยที่สุด เป็นไบนารีทรีเฉพาะทางที่มาพร้อมกับคุณสมบัติที่แตกต่างและมีประโยชน์มากกว่าไบนารีทรีรูปแบบอื่น ต้นไม้การค้นหาแบบไบนารีหรือ BST คืออะไร? ตามชื่อของมัน ต้นไม้การค้นหาแบบไบนารีถูกใช้เพื่อค้นหาข้อมูลในทรี
BST มาพร้อมกับคุณสมบัติที่ช่วยให้สามารถค้นหาได้อย่างมีประสิทธิภาพ BST คือไบนารีทรีที่มีคีย์ของโหนดที่เล็กกว่าและมากกว่าโหนดในทรีย่อยด้านขวา และโหนดในทรีย่อยด้านซ้ายตามลำดับ
การเป็นตัวแทนของต้นไม้ไบนารี
1. การเป็นตัวแทนที่เชื่อมโยง
ต้นไม้ไบนารีในการแสดงที่เชื่อมโยงจะถูกเก็บไว้ในหน่วยความจำเป็นรายการที่เชื่อมโยง รายการเหล่านี้มีโหนดที่ไม่ได้เก็บไว้ที่ตำแหน่งหน่วยความจำที่อยู่ติดกันหรือใกล้เคียง และเชื่อมโยงถึงกันผ่านความสัมพันธ์หลักและรองที่เชื่อมโยงกับทรี
ในการเป็นตัวแทนนี้ แต่ละโหนดมีสามส่วนที่แตกต่างกัน –
- ตัวชี้ที่ชี้ไปทางโหนดด้านขวา
- ตัวชี้ที่ชี้ไปทางโหนดด้านซ้าย
- องค์ประกอบข้อมูล
นี่คือการเป็นตัวแทนทั่วไป ต้นไม้ไบนารีทั้งหมดประกอบด้วยตัวชี้รูทที่ชี้ไปในทิศทางของโหนดรูท เมื่อคุณเห็นโหนดรูทชี้ไปที่ค่า null หรือ 0 คุณควรรู้ว่าคุณกำลังจัดการกับไบนารีทรีที่ว่างเปล่า พอยน์เตอร์ขวาและซ้ายเก็บที่อยู่ของลูกด้านขวาและซ้ายของต้นไม้

2. การแสดงตามลำดับ
แม้ว่ามันจะง่ายกว่าการเป็นตัวแทนแบบเชื่อมโยง แต่ความไร้ประสิทธิภาพของมันทำให้เป็นตัวแทนไบนารีทรีที่ต้องการน้อยกว่าของทั้งสอง ความไร้ประสิทธิภาพอยู่ในปริมาณพื้นที่ที่จำเป็นสำหรับการจัดเก็บองค์ประกอบต้นไม้ต่างๆ การแสดงตามลำดับใช้อาร์เรย์สำหรับการจัดเก็บองค์ประกอบต้นไม้
จำนวนโหนดที่ไบนารีทรีกำหนดขนาดของอาร์เรย์ที่ใช้ โหนดรูทของไบนารีทรีอยู่ที่ดัชนีแรกของอาร์เรย์ ดัชนีที่จัดเก็บโหนดเฉพาะจะกำหนดดัชนีที่จะจัดเก็บลูกทางขวาและซ้ายของโหนด ต้นไม้ว่างมีค่า null หรือ 0 เป็นดัชนีแรก
ประเภทของต้นไม้ไบนารี
- ต้นไม้ไบนารีแบบเต็ม : ต้นไม้ ไบนารีแบบเต็มคือต้นไม้ไบนารีที่มีโหนดมีลูกสองคนหรือไม่มีเลย กล่าวอีกนัยหนึ่ง ต้นไม้ไบนารีจะกลายเป็นต้นไม้ไบนารีแบบเต็มเมื่อแยกจากใบไม้ โหนดอื่นๆ ทั้งหมดมีลูกสองคน
- ต้นไม้ไบนารีที่สมบูรณ์ : ต้นไม้ ไบนารีที่สมบูรณ์คือต้นไม้ที่มีระดับที่แตกต่างกันทั้งหมด ข้อยกเว้นเพียงอย่างเดียวคือระดับสุดท้ายซึ่งมีคีย์อยู่ทางด้านซ้าย ไบนารี่ฮีปมักถูกใช้เป็นตัวอย่างของไบนารีทรีที่สมบูรณ์
- ต้นไม้ไบนารีที่สมบูรณ์แบบ: ต้นไม้ ไบนารีที่สมบูรณ์แบบคือต้นไม้ไบนารีที่มีใบอยู่ในระดับเดียวกันและมีโหนดภายในมีลูกสองคน ตัวอย่างทั่วไปของต้นไม้ไบนารีที่สมบูรณ์แบบคือแผนภูมิต้นไม้ตระกูลบรรพบุรุษ
- ต้นไม้ไบนารีที่เสื่อมโทรมทางพยาธิวิทยา: ต้นไม้ที่เสื่อมโทรมคือต้นไม้ไบนารีที่มีโหนดภายในมีลูกหนึ่งคน ระดับประสิทธิภาพจะคล้ายกับรายการที่เชื่อมโยง เรียนรู้เพิ่มเติมเกี่ยวกับประเภทของไบนารีทรี
อ่าน: โครงสร้างข้อมูล 6 แบบที่ใช้บ่อยที่สุดใน R
ประโยชน์ของไบนารีทรี
- วิธีที่เหมาะสมที่สุดในการจัดเก็บข้อมูลตามลำดับชั้น
- สะท้อนความสัมพันธ์เชิงโครงสร้างที่มีอยู่ในชุดข้อมูลที่กำหนด
- ทำการแทรกและลบได้เร็วกว่ารายการและอาร์เรย์ที่เชื่อมโยง
- วิธีที่ยืดหยุ่นในการถือและย้ายข้อมูล
- ใช้สำหรับเก็บโหนดให้ได้มากที่สุด
- เร็วกว่ารายการที่เชื่อมโยงและช้ากว่าอาร์เรย์เมื่อเข้าถึงองค์ประกอบ
บทสรุป
ในบล็อกนี้ เราได้พูดคุยกันถึงสิ่งที่ต้นไม้ไบนารีในโครงสร้างข้อมูลรวมถึงพูดคุยเกี่ยวกับประเภท การเป็นตัวแทน และประโยชน์ของพวกมัน การใช้งานหลักสองประการของต้นไม้คือการค้นหาและจัดเก็บข้อมูล ดังนั้นจึงเป็นส่วนสำคัญในการศึกษา Data Science และสาขาที่เกี่ยวข้อง
หากคุณอยากเรียนรู้เกี่ยวกับ ไบนารีทรีในโครงสร้าง ข้อมูล วิทยาการข้อมูล ลองดู IIIT-B & upGrad's Executive PG Program in Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม ตัวต่อตัวกับที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
แอปพลิเคชั่นของไบนารีทรีในโลกของการคำนวณคืออะไร?
ต้นไม้ไบนารีเป็นโครงสร้างข้อมูลที่ไม่เป็นเชิงเส้นของประเภทต้นไม้ที่มีลูกสูงสุดสองคนสำหรับโหนดหลักทุกโหนด โหนดที่ด้านบนของไบนารีทรีทั้งหมดเรียกว่าโหนดรูท ในไบนารีทรีใด ๆ ทุกโหนดมีการอ้างอิงด้านซ้าย การอ้างอิงที่ถูกต้อง และองค์ประกอบข้อมูล
หากเราดูการใช้งานของไบนารีทรีในโลกของการคำนวณ ส่วนใหญ่จะใช้สำหรับการเรียงลำดับและการค้นหา เนื่องจากไบนารีทรีสามารถจัดเก็บข้อมูลแบบลำดับชั้นได้ นอกจากนั้น แอปพลิเคชั่นทั่วไปอื่นๆ ของไบนารีทรียังรวมถึงการข้ามผ่าน การลบ และการแทรก
โครงสร้างข้อมูลต้นไม้ใช้ในชีวิตจริงที่ไหน?
โครงสร้างข้อมูลต้นไม้มีการใช้งานจริงบางอย่าง พวกเขาเป็น:
1. ฐานข้อมูลใช้ประโยชน์จากโครงสร้างข้อมูลต้นไม้เพื่อการจัดทำดัชนี
2. โครงสร้างแบบทรีถูกใช้โดย Domain Name Server (DNS)
3. XML Parser ยังใช้โครงสร้างแบบต้นไม้อีกด้วย
4. File Explorer หรือ My Computer ของโทรศัพท์มือถือหรือคอมพิวเตอร์
5.ความคิดเห็นของคำถามใดๆ ที่โพสต์บนเว็บไซต์มีความคิดเห็นในฐานะลูกของคำถามเหล่านั้น
6. อัลกอริธึมที่อิงตามการตัดสินใจที่ใช้ในการเรียนรู้ด้วยเครื่องทำงานบนหลักการของอัลกอริธึมของโครงสร้างแบบต้นไม้
ต้นไม้ไบนารีที่สมบูรณ์แบบคืออะไร?
ต้นไม้ไบนารีใด ๆ ที่กล่าวกันว่าสมบูรณ์แบบเมื่อโหนดภายในทั้งหมดมีลูกสองคนพอดี และในเวลาเดียวกัน ใบไม้ทุกโหนดมีความลึกเท่ากัน
เราสามารถเข้าใจสิ่งนี้ได้ดีขึ้นด้วยตัวอย่างแผนภูมิบรรพบุรุษ ที่นี่แต่ละคนจะมีพ่อแม่ผู้ให้กำเนิดสองคนพอดี เงื่อนไขเดียวในที่นี้คือ ควรวางพ่อและแม่ไว้ข้างเดียวกันทุกครั้ง เพื่อให้เพศของทั้งคู่ถูกใช้เป็นการเปรียบเทียบสำหรับโหนดซ้ายและขวา ด้วยเหตุนี้ เราสามารถพูดได้ว่าต้นไม้ที่สมบูรณ์ย่อมเป็นต้นไม้ที่สมบูรณ์เสมอ แต่ต้นไม้ที่สมบูรณ์ทุกต้นไม่จำเป็นต้องเป็นต้นไม้ที่สมบูรณ์เสมอไป