18.04.2013 Views

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

The.Algorithm.Design.Manual.Springer-Verlag.1998

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Priority Queues<br />

Fibonacci heaps [FT87] support insert and decrease-key operations in O(1) amortized time, with<br />

amortized time extract-min and delete operations. <strong>The</strong> constant-time decrease-key operation leads to<br />

faster implementations of classical algorithms for shortest-paths, weighted bipartite-matching, and<br />

minimum-spanning-tree. In practice, Fibonacci heaps are nontrivial to implement and have large<br />

constant factors associated with them. However, pairing heaps have been proposed to realize the same<br />

bounds with less overhead. Experiments with pairing heaps are reported in [SV87].<br />

Heaps define a partial order that can be built using a linear number of comparisons. <strong>The</strong> familiar lineartime<br />

merging algorithm for heap construction is due to Floyd [Flo64]. In the worst case, 1.625n<br />

comparisons suffice [GM86] and comparisons are necessary [CC92].<br />

Related Problems: Dictionaries (see page ), sorting (see page ), shortest path (see page ).<br />

Next: Suffix Trees and Arrays Up: Data Structures Previous: Dictionaries<br />

<strong>Algorithm</strong>s<br />

Mon Jun 2 23:33:50 EDT 1997<br />

file:///E|/BOOK/BOOK3/NODE130.HTM (4 of 4) [19/1/2003 1:30:05]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!