กลับไปหน้าบทความ

อ่าน 2 นาที

คิวลำดับความสำคัญแบบโมโนโทน

ใน วิทยาการคอมพิวเตอร์ คิว ลำดับความสำคัญแบบโมโนโทน เป็นรูปแบบหนึ่งของ ชนิดข้อมูลนามธรรม คิวลำดับความสำคัญ ซึ่งลำดับความสำคัญของรายการที่ดึงออกมาจะต้องเป็น ลำดับโมโนโทน กล่าวคือ...

คิวลำดับความสำคัญแบบโมโนโทน

ในวิทยาการคอมพิวเตอร์คิวลำดับความสำคัญแบบโมโนโทนเป็นรูปแบบหนึ่งของชนิดข้อมูลนามธรรมคิวลำดับความสำคัญ ซึ่งลำดับความสำคัญของรายการที่ดึงออกมาจะต้องเป็นลำดับโมโนโทนกล่าวคือ สำหรับคิวลำดับความสำคัญที่แต่ละรายการที่ดึงออกมาอย่างต่อเนื่องเป็นรายการที่มีลำดับความสำคัญต่ำสุด (มินฮีป) ลำดับความสำคัญต่ำสุดควรเพิ่มขึ้นแบบโมโนโทน ในทางกลับกัน สำหรับแม็กซ์ฮีป ลำดับความสำคัญสูงสุดควรลดลงแบบโมโนโทน ข้อสมมติฐานเรื่องความเป็นโมโนโทนเกิดขึ้นตามธรรมชาติในแอปพลิเคชันหลายอย่างของคิวลำดับความสำคัญ และสามารถใช้เป็นข้อสมมติฐานที่ทำให้ง่ายขึ้นเพื่อเร่งความเร็วคิวลำดับความสำคัญบางประเภท[ 1 ] : 128

เงื่อนไขที่จำเป็นและเพียงพอสำหรับคิวลำดับความสำคัญแบบโมโนโทนคือ จะต้องไม่พยายามเพิ่มองค์ประกอบที่มีลำดับความสำคัญต่ำกว่าองค์ประกอบที่ถูกดึงออกมาล่าสุด

แอปพลิเคชัน

คิวลำดับความสำคัญแบบโมโนโทนเกิดขึ้นเองตามธรรมชาติเมื่อจัดเรียงเหตุการณ์ตามลำดับเวลา เช่นการหมดเวลา ของเครือข่าย หรือการจำลองเหตุการณ์แบบไม่ต่อเนื่อง เหตุการณ์หนึ่งอาจทำให้มีการกำหนดการกระทำบางอย่างในอนาคต แต่ ความเป็นเหตุเป็นผล (ไม่ว่าจะจริงหรือจำลอง) ทำให้ความพยายามในการกำหนดการกระทำในอดีตนั้นไร้ความหมาย

ในอัลกอริทึมของไดจ์กสตราสำหรับปัญหาเส้นทางที่สั้นที่สุดจุดยอดของกราฟถ่วงน้ำหนักที่กำหนดจะถูกดึงออกมาตามลำดับที่เพิ่มขึ้นตามระยะห่างจากจุดเริ่มต้น และจะใช้คิวลำดับความสำคัญเพื่อกำหนดจุดยอดที่เหลือที่ใกล้ที่สุดกับจุดเริ่มต้น ดังนั้น ในการประยุกต์ใช้ในกรณีนี้ การดำเนินการของคิวลำดับความสำคัญจึงเป็นการดำเนินการแบบโมโนโทนิก

ในทำนองเดียวกัน ในอัลกอริธึมการกวาดเส้นในเรขาคณิตเชิงคำนวณ เหตุการณ์ที่การกวาดเส้นตัดผ่านจุดที่สนใจจะได้รับการจัดลำดับความสำคัญตามพิกัดของจุดที่ตัดผ่าน และเหตุการณ์เหล่านี้จะถูกดึงออกมาตามลำดับโมโนโทนิก ลำดับการดึงออกมาแบบโมโนโทนิกยังเกิดขึ้นในเวอร์ชันbest-first ของ branch and bound ด้วย [ 1 ] : 128

โครงสร้างข้อมูล

คิวลำดับความสำคัญใดๆ ที่สามารถจัดการกับการดึงข้อมูลแบบไม่เป็นไปตามลำดับ (non-monotone extraction) ก็สามารถจัดการกับการดึงข้อมูลแบบเป็นไปตามลำดับ (monotone extraction) ได้เช่นกัน แต่คิวลำดับความสำคัญบางประเภทถูกออกแบบมาให้ทำงานเฉพาะกับการดึงข้อมูลแบบเป็นไปตามลำดับ หรือทำงานได้ดีกว่าเมื่อการดึงข้อมูลเป็นแบบเป็นไปตามลำดับ ตัวอย่างเช่น คิวแบบบัคเก็ต (bucket queue ) เป็นโครงสร้างข้อมูลคิวลำดับความสำคัญอย่างง่าย ประกอบด้วยอาร์เรย์ที่จัดทำดัชนีตามลำดับความสำคัญ โดยแต่ละเซลล์ในอาร์เรย์จะบรรจุบัคเก็ตของรายการที่มีลำดับความสำคัญนั้น การดำเนินการ extract-min จะทำการค้นหาแบบลำดับสำหรับบัคเก็ตที่ไม่ว่างเปล่าแรก และเลือกรายการใดๆ ในบัคเก็ตนั้น สำหรับการดึงข้อมูลแบบไม่เป็นไปตามลำดับ การดำเนินการ extract-min แต่ละครั้งจะใช้เวลา (ในกรณีที่เลวร้ายที่สุด) เป็นสัดส่วนกับความยาวของอาร์เรย์ (จำนวนลำดับความสำคัญที่แตกต่างกัน) อย่างไรก็ตาม เมื่อใช้เป็นคิวลำดับความสำคัญแบบเป็นไปตามลำดับ การค้นหาบัคเก็ตที่ไม่ว่างเปล่าถัดไปสามารถเริ่มต้นที่ลำดับความสำคัญของการดำเนินการ extract-min ครั้งก่อนหน้าล่าสุด แทนที่จะเริ่มต้นที่จุดเริ่มต้นของอาร์เรย์ การเพิ่มประสิทธิภาพนี้ทำให้เวลาทั้งหมดสำหรับลำดับการดำเนินการเป็นสัดส่วนกับผลรวมของจำนวนการดำเนินการและความยาวของอาร์เรย์ แทนที่จะเป็นผลคูณของปริมาณทั้งสองนี้ (ดังเช่นในกรณีที่ไม่ใช่แบบโมโนโทนิก) [ 2 ]

Cherkassky, Goldberg และ Silverstein (1999)อธิบายแผนการที่ซับซ้อนกว่าที่เรียกว่าคิวแบบ Heap-on-top (HOT)สำหรับคิวลำดับความสำคัญแบบโมโนโทนที่มีลำดับความสำคัญเป็นจำนวนเต็ม โดยอาศัยการแบ่งกลุ่มหลายระดับร่วมกับคิวลำดับความสำคัญแบบฮีปทั่วไป ด้วยวิธีนี้ พวกเขาได้โครงสร้างที่สามารถรักษาไอเท็มที่มีลำดับความสำคัญเป็นจำนวนเต็มในช่วงตั้งแต่0ถึงพารามิเตอร์Cคิวแบบ hot ใช้เวลาคงที่ต่อการแทรกหรือการลดลำดับความสำคัญ และเวลาเฉลี่ย ต่อการดำเนินการ extract-min [ 3 ]โครงสร้างที่เกี่ยวข้องอีกแบบหนึ่งของRaman (1996)อนุญาตให้ลำดับความสำคัญเป็นจำนวนเต็มของเครื่อง และอนุญาตให้มีการแทรกและการลดลำดับความสำคัญในเวลาคงที่อีกครั้ง โดยการดำเนินการ extract-min บนคิวลำดับความสำคัญที่มีnรายการใช้เวลาเฉลี่ย[ 4 ​​] ผลลัพธ์ เหล่านี้ทำให้เกิดความเร็วที่เพิ่มขึ้นในอัลกอริทึมของ Dijkstra สำหรับกราฟที่มีน้ำหนักขอบเป็นจำนวนเต็ม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Monotone_priority_queue&oldid=1192033476 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ คิวลำดับความสำคัญแบบโมโนโทน

ใน วิทยาการคอมพิวเตอร์ คิว ลำดับความสำคัญแบบโมโนโทน เป็นรูปแบบหนึ่งของ ชนิดข้อมูลนามธรรม คิวลำดับความสำคัญ ซึ่งลำดับความสำคัญของรายการที่ดึงออกมาจะต้องเป็น ลำดับโมโนโทน กล่าวคือ...

แอปพลิเคชัน

คิวลำดับความสำคัญแบบโมโนโทนเกิดขึ้นเองตามธรรมชาติเมื่อจัดเรียงเหตุการณ์ตามลำดับเวลา เช่น การหมดเวลา ของเครือข่าย หรือ การจำลองเหตุการณ์แบบไม่ต่อเนื่อง เหตุการณ์หนึ่งอาจทำให้มีการกำหนดการกระทำบางอย่างในอนาคต แต่ ความเป็นเหตุเป็นผล (ไม่ว่าจะจริงหรือจำลอง)...

โครงสร้างข้อมูล

คิวลำดับความสำคัญใดๆ ที่สามารถจัดการกับการดึงข้อมูลแบบไม่เป็นไปตามลำดับ (non-monotone extraction) ก็สามารถจัดการกับการดึงข้อมูลแบบเป็นไปตามลำดับ (monotone extraction) ได้เช่นกัน...