## Integer Priority Queues with Decrease Key in . . . (2003)

Venue: | STOC'03 |

Citations: | 28 - 2 self |

### BibTeX

@MISC{Thorup03integerpriority,

author = {Mikkel Thorup},

title = {Integer Priority Queues with Decrease Key in . . . },

year = {2003}

}

### Years of Citing Articles

### OpenURL

### Abstract

We consider Fibonacci heap style integer priority queues supporting insert and decrease key operations in constant time. We present a deterministic linear space solution that with n integer keys support delete in O(log log n) time. If the integers are in the range [0,N), we can also support delete in O(log log N) time. Even for the special case of monotone priority queues, where the minimum has to be non-decreasing, the best previous bounds on delete were O((log n) 1/(3−ε) ) and O((log N) 1/(4−ε)). These previous bounds used both randomization and amortization. Our new bounds a deterministic, worst-case, with no restriction to monotonicity, and exponentially faster. As a classical application, for a directed graph with n nodes and m edges with non-negative integer weights, we get single source shortest paths in O(m + n log log n) time, or O(m + n log log C) ifC is the maximal edge weight. The later solves an open problem of Ahuja, Mehlhorn, Orlin, and

### Citations

1353 | The C Programming Language - Kernighan, Ritchie - 1988 |

903 |
A note two problems in connection with graphs
- Dijkstra
- 1959
(Show Context)
Citation Context ...value. The Fibonacci heap stores information with the elements that it can benefit from in connection with a dec-key operation. The classic application of Fibonacci heaps is inside Dijkstra algorithm =-=[12]-=-. For a weighted graph with n nodes and m edges they solve the single source shortest path problem in time Oðm þ ntÞ Oðm þ n log nÞ: For general ordered sets supporting only comparisons, Fredman and... |

751 |
The Art of Computer Programming, Volume 3: Sorting and Searching
- Knuth
- 1998
(Show Context)
Citation Context ...dvantage of dealing with integer keys is that we can use them to compute addresses in bucket-based algorithms. A classic example of this is the folklore algorithm radix sort, which according to Knuth =-=[23]-=- is referenced as far back as in 1929 by Comrie in a document describing punched-card equipment [8]. Another classic example is multiplicative hashing which dates back at least to 1956 [14]. Finally, ... |

600 |
E.: Fibonacci heaps and their uses in improved network optimization algorithms
- Fredman, Tarjan
- 1987
(Show Context)
Citation Context ...lsevier Inc. All rights reserved. Keywords: Integer priority queues; Decrease key; Fibonacci heaps; Single source shortest paths 1. Introduction In 1984, Fredman and Tarjan introduced Fibonacci heaps =-=[15]-=-, which is a priority queue over a dynamic ordered set H supporting the following operations: find-minðHÞ Returns an element from H with minimum key value in constant time. insertðH; aÞ Adds the eleme... |

358 |
Introduction to Algorithms”, 2nd Edition
- Cormen, Leiserson, et al.
- 2001
(Show Context)
Citation Context ..., first we consider the Fibonacci heaps in the min-queue. Referring ARTICLE IN PRESS M. Thorup / Journal of Computer and System Sciences 69 (2004) 330–353350 to the presentation of Fibonacci heaps in =-=[9]-=-, each key in the heap-ordered trees should maintain the children with the same value. Also, we maintain a list of all roots with minimum key value. This list is easily maintained, for if a root is de... |

202 | E.: Design and implementation of an efficient priority queue - Boas, Kaas, et al. - 1976 |

192 | for Floating-Point Arithmetic - Standard - 2008 |

164 |
Trans-dichotomous Algorithms for Minimum Spanning Trees and Shortest Paths
- Fredman, Willard
- 1994
(Show Context)
Citation Context ...e level 0 buffer B0 does not contain any keys below the min-splitter, so the global minimum is always found by querying the min-priority queue. Finally, we have Fredman and Willard’s atomic heap from =-=[17]-=- over the Oðlog log nÞ level splitters. Then, given a key value x; in constant time, we can find its level i with xAIi si; siþ1Þ: Also, in constant amortized time, we can change the value of a leve... |

151 |
Surpassing the information theoretic bound with fusion trees
- Fredman, Willard
- 1993
(Show Context)
Citation Context ...ically in linear space, that is, space linear in m: 1.2.2. Bounds in terms of n Shortly after the development of their Oðn log n=log log nÞ time integer sorting algorithm in 1990, Fredman and Willard =-=[16]-=- showed that integer SSSP could be solved in Oðm þ n log n=log log nÞ time. In 1995, using randomization, Thorup [27] improved this to Oðm þ n ffiffiffiffiffiffiffiffiffiffi log n p 1þeÞ expected time... |

114 | Emde Boas. Preserving order in a forest in less than logarithmic time and linear space - van - 1977 |

110 | Faster algorithms for the shortest path problem
- Ahuja, Mehlhorn, et al.
- 1990
(Show Context)
Citation Context ...ad from the bucketing is constant time per operation. This idea essentially goes back to Dial in 1969 [11]. & The Oðm þ n log log CÞ time bound from Corollary 2 solves an open problem of Ahuja et al. =-=[1]-=- from 1990. ARTICLE IN PRESS M. Thorup / Journal of Computer and System Sciences 69 (2004) 330–353 331 1.1. The integer key model Our computational model is word RAM, modeling what we program in a sta... |

103 |
The C Programming Language, 2nd Edition
- Kernighan, Ritchie
- 1988
(Show Context)
Citation Context ...p / Journal of Computer and System Sciences 69 (2004) 330–353 331 1.1. The integer key model Our computational model is word RAM, modeling what we program in a standard programming language such as C =-=[22]-=-. We have a processor determined word-size W ; limiting how big integers we can operate on in constant time. On the other hand, we assume that each input integer fits in a single word. Also, we assume... |

93 |
Algorithm 360. shortest path forest with topological ordering
- Dial
- 1969
(Show Context)
Citation Context ...: Then, for i 0;y; n; we deal with distances in bucket i in the range iC; ði þ 1ÞCÞ: The overhead from the bucketing is constant time per operation. This idea essentially goes back to Dial in 1969 =-=[11]-=-. & The Oðm þ n log log CÞ time bound from Corollary 2 solves an open problem of Ahuja et al. [1] from 1990. ARTICLE IN PRESS M. Thorup / Journal of Computer and System Sciences 69 (2004) 330–353 331 ... |

83 |
Relaxed heaps: An alternative to Fibonacci heaps with applications to parallel computation
- Driscoll, Gabow, et al.
- 1988
(Show Context)
Citation Context ... will show how to de-amortize the construction from the previous section, so as to get worst-case bounds of Theorem 1. A first simple change is to implement the min-priority queue with a relaxed heap =-=[13]-=- instead of a Fibonacci heaps [15] so as to get worst-case times for ARTICLE IN PRESS M. Thorup / Journal of Computer and System Sciences 69 (2004) 330–353 341 the min-priority queue. Similarly, we ge... |

73 | On RAM priority queues - Thorup - 2000 |

50 |
Priority queues: Small, monotone and trans-dichotomous
- Raman
(Show Context)
Citation Context .... [1] in 1990. In 1996, Raman solved the SSSP deterministically in Oðm þ n ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffilog n log log np Þ time and linear space =-=[24]-=-. Later, in 1997, using randomization, he solved SSSP in Oðm þ n ffiffiffiffiffiffiffiffiffiffilog n3p 1þeÞ expected time [25]. However, as stated in Corollary 2, we solve the SSSP problem determinist... |

49 | Undirected single source shortest path in linear time - Thorup - 1997 |

49 | Marked ancestor problems
- Alstrup, Husfeldt, et al.
- 1998
(Show Context)
Citation Context ...onstant time per key, and since this only happens q times per key, we conclude that we spend constant amortized time per dec-key operation, and Oðq þ tÞ per key. A general technique of Alstrup et al. =-=[2]-=- allow us to amortize the per key cost over deletes, even if most keys are not deleted. That is, we get insert in constant amortized time and delete in Oðq þ tÞ amortized time. Summing up, we have Pro... |

43 |
Optimal bounds for decision problems
- Beame, Hastad
- 1989
(Show Context)
Citation Context ...e for non-negative integers. However, Dijkstra’s algorithm only works for non-negative integers, so this has no impact on Corollary 2. Our algorithms use multiplication, which is not an AC0 operation =-=[6]-=-. However, if we restrict ourselves to AC0 operations such as addition, shift, and bit-wise boolean operations, we can solve the SSSP problem in Oðm þ nðlog log minfn; CgÞ1þeÞ time using a monotone AC... |

39 | Faster deterministic sorting and searching in linear space
- Andersson
- 1996
(Show Context)
Citation Context ...Oðn log log nÞ time bound of Han [19] for deterministic sorting. 1.3. Techniques Our new data structure for priority queues with dec-key in constant time combines Andersson’s exponential search trees =-=[3]-=- with the recent priority queues of Thorup [28]. The fundamental new idea is to shift keys between levels in a search tree so as to support dec-key in constant time. ARTICLE IN PRESS M. Thorup / Journ... |

31 | Deterministic sorting in O(n log log n) time and linear space - Han - 2002 |

28 | Integer sorting in O(n √ log log n) expected time and linear space - Han, Thorup |

28 | Recent results on the single-source shortest paths problem - Raman - 1997 |

27 | M.: Dynamic ordered sets with exponential search trees
- Andersson, Thorup
- 2007
(Show Context)
Citation Context ... time on a balance step in that process. We note here that each buffer step can place two update keys, hence perform two balance steps. Setting b n2=3i =60; D 1; and m 15 in Proposition 15 from =-=[5]-=-, we get b n3=2i =60 balance steps to complete each process while maintaining local set sizes between mb n2=3i =4 and ð3mþ Dþ 14Þb n2=3i : ARTICLE IN PRESS M. Thorup / Journal of Computer and Sy... |

25 | Improved shortest paths on the word RAM
- Hagerup
- 2000
(Show Context)
Citation Context ...Corollary 2 is an exponential improvement. Of other related results, Thorup [26] has shown that SSSP with non-negative integer weights can be solved in linear time if the graph is undirected. Hagerup =-=[18]-=- generalized Thorup’s algorithm for directed graphs, solving SSSP in Oðm log log CÞ time and linear space. For contrast, the previously mentioned Oðm log log CÞ time bound with van Emde Boas’ data str... |

21 |
Shortest-route methods 1: reaching, pruning and buckets
- Denardo, Fox
- 1979
(Show Context)
Citation Context ...ue where the minimum is assumed to be non-decreasing. We construct such a monotone priority queue from a non-monotone priority queue for much shorter keys. The basic idea goes back to Denardo and Fox =-=[10]-=-, and was further developed by Ahuja et al. [1]. Our simple variant of the construction has the advantage of being implemented in linear space using only AC0 operations. We view our full-word key x as... |

21 | Equivalence between priority queues and sorting - Thorup - 2007 |

20 | Static dictionaries on AC0 RAMs: Query time Yð ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffilog n=log log np Þ is necessary and sufficient
- Andersson, Miltersen, et al.
- 1996
(Show Context)
Citation Context ... bypass the standard use of buckets for keys with the same value [1,10]. Such a general identification of keys with the same value would have given us space problems when restricted to AC0 operations =-=[4]-=-. When a key x is inserted, we insert xm in Qm: When x is decreased, we decrease xm accordingly in Qm: Each of these operations take constant amortized time. When a key x is deleted, the derived key x... |

17 | monotone priority queues - Buckets, lists - 1999 |

8 |
lists, and monotone priority queues
- Cherkassky, Goldberg, et al.
- 1999
(Show Context)
Citation Context ...oceeded to provide a SSSP algorithm with running time Oðm þ n ffiffiffiffiffiffiffiffiffiffiffilog Cp Þ: In 1997, using randomization, this bound was improved by Cherkassky, Goldberg, and Silverstein =-=[7]-=- to Oðm þ n ffiffiffiffiffiffiffiffiffiffiffilog C3p 1þeÞ expected time for any fixed e40: Later in 1997, this was further improved by Raman [25] to Oðm þ n ffiffiffiffiffiffiffiffiffiffiffilog C4p 1þ... |

6 |
Indexing for rapid random access memory systems
- Dumey
- 1956
(Show Context)
Citation Context ...g to Knuth [23] is referenced as far back as in 1929 by Comrie in a document describing punched-card equipment [8]. Another classic example is multiplicative hashing which dates back at least to 1956 =-=[14]-=-. Finally, for the SSSP problem itself, the use of buckets go back at least to Dial’s algorithm from 1969 [11]. We note that our integer priority queue also works for floating point numbers; for the I... |

2 |
The hollerith and powers tabulating machines
- Comrie
(Show Context)
Citation Context ...lgorithms. A classic example of this is the folklore algorithm radix sort, which according to Knuth [23] is referenced as far back as in 1929 by Comrie in a document describing punched-card equipment =-=[8]-=-. Another classic example is multiplicative hashing which dates back at least to 1956 [14]. Finally, for the SSSP problem itself, the use of buckets go back at least to Dial’s algorithm from 1969 [11]... |

2 |
Deterministic sorting in Oðn log log nÞ time and linear space
- Han
- 2004
(Show Context)
Citation Context ...serting them all in a priority queue and second extract them in sorted order. Using the priority queue of Theorem 1, this takes Oðn log log nÞ time, matching the best current sorting bound due to Han =-=[19]-=-. With randomization, however, Han and Thorup have shown how to sort in Oðn ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffilog log np Þ expected time, and with a general reduction from basic prior... |

2 |
Integer sorting in Oðn ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi p log log nÞ expected time and linear space
- Han, Thorup
(Show Context)
Citation Context ...onentially, as we did it with respect to C in Section 1.2.1. We note that the recent randomized Oðn ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffilog log np Þ sorting algorithm of Han and Thorup =-=[20]-=- together with Thorup’s reduction from SSSP to sorting [27] imply that we can now solve SSSP in Oðm ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffilog log np Þ expected time. This leaves as a natu... |

1 |
for binary floating-point arithmetic, ACM Sigplan Notices 22
- IEEE
- 1985
(Show Context)
Citation Context ...itself, the use of buckets go back at least to Dial’s algorithm from 1969 [11]. We note that our integer priority queue also works for floating point numbers; for the IEEE 754 floating-point standard =-=[21]-=- is designed so that the ordering of floating point numbers can be deduced by perceiving their representations as integers. Thus the Oðm þ n log log nÞ time bound from Corollary 2 holds equally well f... |