มีในคิวลำดับความสำคัญจำนวนเต็มที่ใช้คำของพื้นที่ที่มีการดำเนินการดังต่อไปนี้ทั้งหมดในเวลาที่เลวร้ายที่สุดกรณีและไม่มีการเข้าถึงแบบสุ่ม:
createEmptyQueue
ไว้ในสำหรับบางคนคงคinsert
ใน(1)deleteMin
ในโดยที่\ delta _ {\ min}คือความแตกต่างระหว่างคีย์ที่เล็กที่สุดและคีย์ที่สองที่เล็กที่สุด
นอกจากนี้เมื่อคีย์ได้รับเรื่องไปยังdeleteMin
ทุกแทรกเพิ่มเติมเป็นk
งานที่เกี่ยวข้อง:
โบ et al. เรื่อง "การค้นหาในท้องถิ่นอย่างรวดเร็วและมีการปรับปรุงในขอบเขตจักรวาล"ซึ่งจะเร็วกว่าที่ฉันต้องการสำหรับแต่ช้ากว่าที่ฉันต้องการสำหรับdeleteMin
insert
Brodnik et al. ของ "คิวลำดับความสำคัญของเวลาคงที่กรณีที่แย่ที่สุด"ซึ่งใช้ "Yggdrasil memory" ที่แปลกใหม่ สำหรับวัตถุประสงค์ของคำถามนี้ฉันสนใจรุ่น RAM จำนวนเต็มมาตรฐานเพิ่มเติม
Brodnik และ Karlsson ของ "Multiprocess Time Queue"ซึ่ง จำกัด การแทรกองค์ประกอบด้วยคีย์ในโดยที่เป็นค่าของขั้นต่ำ สำคัญ.
โปรดทราบว่านี่ค่อนข้างง่ายด้วยตารางแฮช แต่ใช้การตัดจำหน่ายและการสุ่ม:
- คิวคือคู่ของตารางแฮชของคีย์และสำเนาของคีย์ต่ำสุด
insert
เพิ่มคีย์ลงในตารางแฮชและอัพเดตสำเนาคีย์ขั้นต่ำตามความเหมาะสมdeleteMin
ค้นหาคีย์ขั้นต่ำในตารางแฮชจากนั้นค้นหาคีย์ต่ำสุดถัดไปโดยค้นหาตามลำดับ