ต้นไม้สีแดงและดำ: คำอธิบายคุณลักษณะ
Rudolf Bayer พัฒนาระบบของ "ต้นไม้สีแดงดำ" ในช่วงต้นทศวรรษ 1970 ชื่อนี้ให้กับ L. Gimpas และ R. Sedgwick
สิ่งที่เป็นต้นไม้สีแดงดำ
ควรสังเกตว่าพวกมันเป็นสายพันธุ์เดียวกันต้นไม้ไบนารีสมดุลตัวเองให้ขนาดความสูงนับจากจำนวนโหนดและสร้างกระบวนการค้นหาต้นไม้ขั้นต้นและขั้นพื้นฐานในระยะเวลาอันสั้น การดำเนินการดังกล่าวรวมถึงการแนบยกเว้นและค้นหาโหนด ยอดคงเหลือให้ไว้บนพื้นฐานของการกรอกแอตทริบิวต์ของการกำหนดแอ็พพลิเคชันของโหนดสี คุณสมบัตินี้ใช้แนวคิดที่เป็นไปได้และแสดงด้วยสีที่กล่าวมา
จำนวนหน่วยดำบนกิ่งตั้งแต่จุดเริ่มต้น (ราก) ถึงชั้นสุดท้าย (ใบ) เรียกว่าความสูงของต้นไม้สีดำ
ภาวะฉุกเฉินของระยะ
อธิบายโครงสร้างการค้นหาด้วยตัวเองในแบบของตนเองงานผู้เขียนบทความอาจไม่ได้คาดหวังว่าจะเป็นผู้ก่อตั้งของคำใหม่ อย่างไรก็ตามโชคชะตาสั่งให้พิมพ์ได้สองสีเท่านั้น พวกเขายังแสดงทุกบิตที่เข้าร่วมโหนดถัดไป
ใบสมัคร
ในวิทยาการคอมพิวเตอร์ใช้ต้นไม้สีแดงดำเพื่อสร้างข้อมูลที่สามารถเปรียบเทียบได้ซึ่งอาจรวมถึงส่วนที่ตัดตอนมาและส่วนต่างๆของจารึกหรือตัวเลข
คุณสามารถสร้างต้นไม้สีแดงดำบน Actionscript, Python, C ++ และเกือบทุกภาษาการเขียนโปรแกรมอื่น ๆ มันง่ายมาก ต้นชวาแดง - ดำยังค่อนข้างแพร่หลาย
คุณสมบัติ
ต้นไม้สีดำและสีแดงเป็นต้นไม้ค้นหาในระบบพิกัดไบนารี ในระบบเหล่านี้โหนดใด ๆ มีค่าสีที่แน่นอน อาจใช้คำอธิบายข้างต้นได้ นอกเหนือจากเงื่อนไขทั้งหมดที่ใช้กับต้นไม้ไบนารีแล้วพันธุ์ที่อยู่ระหว่างการพิจารณายังใช้กฎเหล่านี้ด้วย:
- สีของโหนดเป็นเพียงหนึ่งในสองรายการข้างต้น ไม่มีตัวเลือกอื่น ๆ นอกจากนี้ยังสะท้อนให้เห็นในชื่อของคำ
- รากของต้นไม้ควรทาสีดำเสมอ ข้อยกเว้นเป็นไปได้ แต่ส่วนเบี่ยงเบนจากกฎดังกล่าวจะเพิ่มความเสี่ยงที่ต้นไม้จะสมดุล
- ใบทั้งหมดมีค่าเป็นโมฆะ (NIL) และแสดงด้วยสีดำ
- สิ่งสำคัญคือต้องตรวจสอบให้แน่ใจว่าทั้งสองลูกของแต่ละโหนดแม่สีแดงมีสีดำ
- เส้นทางที่ง่าย ๆ จากโหนดใดโหนดหนึ่งไปยังโหนดลูกที่มีใบมีสีให้จำนวนหน่วยโครงสร้างสีดำเหมือนกัน
บางครั้งมีการตีความต้นไม้สีแดง - ดำเป็นต้นไม้การค้นหาแบบไบนารีแบบดาษดื่น ความแตกต่างของพวกเขาจะพิจารณาจากข้อเท็จจริงที่ว่าแทนที่จะเป็นโหนดสีบางซี่โครงจะมีสีตามค่าข้างต้น
เลือกต้นไม้สีแดง - ดำทำไม
ต้นไม้สีดำและสีแดงเป็นรูปแบบที่พบมากที่สุดแห่งหนึ่งของต้นไม้ค้นหาแบบไบนารีที่มีการถ่วงดุลด้วยตัวเองซึ่งมักถูกกล่าวถึงในแง่การปฏิบัติ
สิ่งที่อธิบายความนิยมของพวกเขา?การปฏิบัติเป็นสิ่งที่ขี้เกียจและเป็นเรื่องที่ควรยอมรับ สิ่งที่ยุ่งยากเกินไปและยากที่จะใช้งานและในขณะเดียวกันก็ให้ผลลัพธ์ที่ใกล้เคียงกับวิธีที่ง่ายกว่าเสียชีวิตหรือไปไกลกว่านี้ เช่นความชุกในคนของต้นไม้สีแดงดำจะอธิบายด้วยข้อเท็จจริงที่ว่าพวกเขามักจะให้ความสมดุลที่ดีที่สุดระหว่างคุณภาพและระดับของความสมดุลและความฉลาดแกมโกงในการบำรุงรักษาของ
ตัวอย่างเช่นถ้าเราเปรียบเทียบพวกเขากับผู้ที่เข้าระดับของความสมดุลกับต้นไม้แล้วอาจมีสถานการณ์เมื่อมีการสังเกตว่าตัวแทน "เหมาะ" กำหนดความต้องการไม่ก้าวร้าวเกินไป และในเงื่อนไขของการดำเนินการของการยกเว้นจากต้นไม้หรือการกลับรายการเวลาและความพยายามมากเกินไปจะใช้เพื่อรักษาสมดุลในสถานการณ์ที่กำหนด
กระบวนการ
กระบวนการพิสูจน์อักษรไบนารีสีดำและสีดำเกือบจะเหมือนกันสำหรับสาขาการค้นหาไบนารีอื่น ๆ นี่เป็นจริงเนื่องจากต้นไม้สีดำและแดงเป็นหนึ่งในสายพันธุ์เฉพาะของต้นไม้การค้นหาแบบไบนารีแบบคลาสสิก
อย่างไรก็ตามเมื่อทำงานกับพวกเขาควรจะนำมาพิจารณาความเป็นไปได้สูงที่การผลิตโดยตรงของการกระทำของการรวมหรือการยกเว้นข้อมูลอาจทำให้เกิดความเสียหายกับโครงสร้างของต้นไม้สีดำและสีแดง ข้อดีอย่างมากก็คือสำหรับการฟื้นฟูสมบัตินั้นจำเป็นต้องมีการกระทำที่ค่อนข้างเล็กเช่นการเปลี่ยนสีและการหมุนของต้นไม้น้อยกว่าสามครั้ง ในความเป็นจริงการดำเนินการทั้งหมดนี้ไม่ใช้เวลามากนัก
ดำเนินการกับการแทรกหรือการรวมองค์ประกอบเป็นส่วนที่เพิ่มขึ้นของโหนดที่ตามมา ฟังก์ชันนี้มีลักษณะคล้ายกันในโครงสร้างการค้นหาไบนารีทั้งหมด ขั้นตอนต่อไปคือการทำให้สีโหนดเป็นสีแดง ข้อแตกต่างเพียงอย่างเดียวก็คือถ้าคุณเพิ่มแผ่นงานก่อนเมื่อแทรกลงในโครงสร้างการค้นหาแบบไบนารีสีดำและสีแดงจะไม่นำข้อมูลใด ๆ ดังนั้นแทนพวกเขาโหนดภายในจะถูกเพิ่มที่จะมีสีแดงและลูกหลานของทั้งสองสีดำ
นอกจากนี้การกระทำของเราจะถูกกำหนดโดยสีของโหนดที่อยู่ติดกัน สำหรับพวกเขาคำว่า "ลุง" จะใช้ การเปรียบเทียบโดยตรงกับต้นไม้ลำดับวงศ์ตระกูล จึง:
- ลักษณะที่ทุกใบรักษาสีดำควรได้รับรู้เสมอ
- ลำดับของสองอนุพันธ์แต่ละโหนดสีแดงมีสีดำอาจขัดจังหวะ แต่เกิดขึ้นเฉพาะเมื่อมีการเพิ่มโหนดสีแดงเมื่อสีของสีดำเปลี่ยนเป็นสีแดงหรือเมื่อทั้งต้นไม้ถูกเปิด
- โปรดทราบว่าลำดับจากโหนดไปยังแผ่นที่มีโหนดสีดำจำนวนเท่ากันอาจเสียหายได้ นี้จะเกิดขึ้นเฉพาะเมื่อโหนดสีดำถูกเปิดองค์ประกอบสีแดงจะเปลี่ยนเป็นสีดำและในสถานการณ์ตรงกันข้ามในการทาสีเป็นสีดำเป็นสีแดง เดียวกันสามารถทำได้เมื่อเปลี่ยนต้นไม้
การศึกษาทั้งหมดข้างต้นเป็นเรื่องง่ายที่จะหาวิธีการค้นหาในต้นไม้สีแดงและสีดำ
การตีความที่น่าสนใจของแนวคิดแบบง่ายๆเช่นต้นไม้โดยมีคำอธิบายสี - แดงดำหรือน้ำตาลดำ ตอนนี้คุณรู้เรื่องนี้แล้ว