1 / 9

Ian Munro University of Waterloo Joint work with Andrej Brodnik (Ljubljana & Luleå)

A Worst Case, Constant Time Priority Queue. Ian Munro University of Waterloo Joint work with Andrej Brodnik (Ljubljana & Luleå) Svante Carlsson (Blekinge Inst. Tech.) Johan Karlsson (Luleå). The Problem.

mattieyoung
Download Presentation

Ian Munro University of Waterloo Joint work with Andrej Brodnik (Ljubljana & Luleå)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Worst Case, Constant Time Priority Queue Ian Munro University of Waterloo Joint work with • Andrej Brodnik (Ljubljana & Luleå) • Svante Carlsson (Blekinge Inst. Tech.) • Johan Karlsson (Luleå)

  2. The Problem • van Emde Boas (SWAT i.e. FOCS 1975) • Universe integers [1,..m] {n of which are present} • Operations: insert / delete find least value  x (or greatest ) • Bound: O(lg lg m) time • Space: Improved to O(m) bits • Model: Standard RAM, with bit twiddling

  3. Some Subsequent Work • Kurt Mehlhorn, Stephan Näher and Helmut Alt (SiComp ‘88): vEB is optimal - Lower bound (lg lg m) on pointer machine • Peter Miltersen (STOC ‘94): Lower bound ( lg lg m) on a RAM • Paul Beame and Faith Fich (STOC ‘99): return to parameterization by number of values actually present - matching upper & lower bounds- (lg n/ lg lg n)

  4. Another Model: Rambo • Random Access Machine with Byte Overlap Mike Fredman and Dan Willard • Several words can share bits:

  5. Consider elements at bottom an internal node is flagged if it has a descendant lg n bit RAMBO word at leaf Can find lowest ancestor in O(1) time Can we do better under this model?

  6. The vEB Stratified Tree Internal node keeps track of “outside” bottom elements 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

  7. A Problem • Any individual leaf may be referred to by many ancestors • So one insertion/deletion can require up to 2lg n reference changes • Modify the approach

  8. Split Tagged Tree Keep track of left / right inside leaf … if different from parent’s Each leaf can be referred to by at most two ancestors

  9. So what do we have? • Constant time “extended priority queue” … two memory accesses for search, three for update on our model • How much space do we need? • 2m + O(lg m) bits of ordinary RAM • m bits of RAMBO memory in a particular configuration we call Yggdrasil • and it has been implemented in hardware

More Related