คำถามติดแท็ก priority-queue


14
คิวลำดับความสำคัญใน. สุทธิ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังมองหา. NET การใช้งานคิวลำดับความสำคัญหรือโครงสร้างข้อมูลกอง คิวลำดับความสำคัญคือโครงสร้างข้อมูลที่ให้ความยืดหยุ่นมากกว่าการเรียงลำดับแบบง่าย ๆ เนื่องจากอนุญาตให้องค์ประกอบใหม่เข้าสู่ระบบตามช่วงเวลาที่กำหนด มันคุ้มค่ากว่าการแทรกงานใหม่ลงในคิวลำดับความสำคัญมากกว่าจัดเรียงทุกอย่างในการมาถึงแต่ละครั้ง คิวลำดับความสำคัญพื้นฐานรองรับการดำเนินงานหลักสามประการ: แทรก (Q, x) ระบุไอเท็ม x ด้วยคีย์ k ให้แทรกลงในคิวลำดับความสำคัญ Q ค้นหาขั้นต่ำ (Q) ส่งกลับตัวชี้ไปยังรายการที่มีค่าคีย์น้อยกว่าคีย์อื่นในคิวลำดับความสำคัญ Q ลบ-ขั้นต่ำ (Q) ลบรายการออกจากคิวลำดับความสำคัญ Q ซึ่งมีคีย์น้อยที่สุด นอกจากว่าฉันกำลังมองหาสถานที่ที่ไม่ถูกต้องไม่มีใครอยู่ในกรอบ มีใครตระหนักถึงสิ่งที่ดีหรือฉันควรจะม้วนตัวเอง?

16
เปลี่ยนลำดับความสำคัญคิวเป็นคิวลำดับความสำคัญสูงสุด
ฉันมีลำดับความสำคัญของคิวใน Java of Integers: PriorityQueue<Integer> pq= new PriorityQueue<Integer>(); เมื่อฉันโทรหาpq.poll()ฉันจะได้รับองค์ประกอบขั้นต่ำ คำถาม: จะเปลี่ยนรหัสอย่างไรเพื่อให้ได้องค์ประกอบสูงสุด?


3
เหตุใดอัลกอริทึมของ Dijkstra จึงใช้ปุ่มลดขนาด
อัลกอริทึมของ Dijkstra ได้รับการสอนให้ฉันมีดังนี้ while pqueue is not empty: distance, node = pqueue.delete_min() if node has been visited: continue else: mark node as visited if node == target: break for each neighbor of node: pqueue.insert(distance + distance_to_neighbor, neighbor) แต่ฉันได้อ่านเกี่ยวกับอัลกอริทึมและมีหลายเวอร์ชันที่ฉันเห็นว่าใช้ปุ่มลดขนาดแทนที่จะเป็นส่วนแทรก เหตุใดจึงเป็นเช่นนี้และทั้งสองแนวทางแตกต่างกันอย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.