## Checking Mergeable Priority Queues (1994)

Venue: | In Digest of the 24th Symposium on Fault-Tolerant Computing |

Citations: | 17 - 4 self |

### BibTeX

@INPROCEEDINGS{Bright94checkingmergeable,

author = {Jonathan Bright and Gregory Sullivan},

title = {Checking Mergeable Priority Queues},

booktitle = {In Digest of the 24th Symposium on Fault-Tolerant Computing},

year = {1994},

pages = {144--153},

publisher = {IEEE Computer Society Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

We present an efficient algorithm which can check the answers given by the fundamental abstract data types priority queues and mergeable priority queues. This is the first linear-time checker for mergeable priority queues. These abstract data types are widely used in routing, scheduling, simulation, computational geometry and many other algorithmic domains. We have implemented our answer checker and have performed experiments comparing the speed of our checker to recently benchmarked priority queue and mergeable priority queue implementations, and our checker is substantially faster than the best of these implementations. 1 Introduction This paper concerns the fundamental abstract data types of priority queues (PQs) and mergeable priority queues (MPQs). These abstract data types have been recognized as centrally important from the early days of computer-algorithm design. They appear in seminal algorithm texts such as Knuth's [10] and Aho, Hopcroft and Ullman's [1]. Data structure impl...

### Citations

2432 |
The Design and Analysis of Computer Algorithms
- Aho, Holpcroft, et al.
- 1974
(Show Context)
Citation Context ...act data types have been recognized as centrally important from the early days of computer-algorithm design. They appear in seminal algorithm texts such as Knuth's [10] and Aho, Hopcroft and Ullman's =-=[1]-=-. Data structure implementations for these abstract data types continue to proliferate and currently include: binomial queues, AVL trees, leftist trees, skew heaps, pairing heaps, Fibonacci heaps, 2-3... |

2191 |
The Art of Computer Programming
- Knuth
- 1973
(Show Context)
Citation Context ...N Insert and Deletemin, N Deletemin for all of the different PQ and MPQ implementations. In our tables, PHp is pairing heap [6], SHp is skew heap [15], BHp is binomial queue [20], LHp is leftist tree =-=[11]-=-, and FHp is Fibonacci heap [7]. Our first set of test cases consisted of a sequence of operations on only one priority queue. Here, N insert operations were followed by N deletemin operations, for se... |

572 |
Fibonacci heaps and their uses in improved network optimization algorithms
- Fredman, Tarjan
- 1987
(Show Context)
Citation Context ...min for all of the different PQ and MPQ implementations. In our tables, PHp is pairing heap [6], SHp is skew heap [15], BHp is binomial queue [20], LHp is leftist tree [11], and FHp is Fibonacci heap =-=[7]-=-. Our first set of test cases consisted of a sequence of operations on only one priority queue. Here, N insert operations were followed by N deletemin operations, for several different values of N . S... |

534 |
System structure for software fault tolerance
- Randell
- 1975
(Show Context)
Citation Context ...ram checkers are also studied in [3], though the approach there is slightly different than the approach in this paper. Our checkers can also be used as acceptance tests in the recovery-block approach =-=[14, 2]-=- to software fault tolerance. After an error is detected many methods of recovery are possible. For example, the data contents of the abstract data type might be extracted and placed in a new abstract... |

302 | Designing programs that check their work
- Blum, Kannan
- 1995
(Show Context)
Citation Context ...perations such as matrix multiplication and FFT. Our checkers provide an error-detection capability for other fundamental operations, viz., PQ and MPQ operations. Program checkers are also studied in =-=[3]-=-, though the approach there is slightly different than the approach in this paper. Our checkers can also be used as acceptance tests in the recovery-block approach [14, 2] to software fault tolerance.... |

232 |
Fault Tolerance: Principles and Practice
- Lee, Anderson
- 1990
(Show Context)
Citation Context ...ram checkers are also studied in [3], though the approach there is slightly different than the approach in this paper. Our checkers can also be used as acceptance tests in the recovery-block approach =-=[14, 2]-=- to software fault tolerance. After an error is detected many methods of recovery are possible. For example, the data contents of the abstract data type might be extracted and placed in a new abstract... |

167 |
Algorithm-based fault tolerance for matrix operations
- Huang, Abraham
- 1984
(Show Context)
Citation Context ...computation to attempt to determine if it is executing properly has long been recognized in the fault-tolerance community. For example, the general approach designated algorithm-based fault tolerance =-=[9]-=- uses software and additional data to attempt to detect errors. That approach is particularly valuable for detecting errors in fundamental operations such as matrix multiplication and FFT. Our checker... |

147 |
A linear-time algorithm for a special case of disjoint set union. \oiirnal4 Cumplr ter and Systent Sciences
- Gabow, jan
- 1985
(Show Context)
Citation Context ... the name of the set from which the element was deleted. We can also postpone all of the processing of the delete operations until the final stage. Then, the linear-time off-line union/find algorithm =-=[8]-=- can be used to process these operations. Since delete operations only create check edges, and check edges are only used during the final stage, the behavior of the algorithm is not altered by delayin... |

86 |
Applications of path compression on balanced trees
- Tarjan
- 1979
(Show Context)
Citation Context ...ng defined on them, we do not insist that an addition operation is defined on the elements. We use the definition below which is a generalization of the standard minimum spanning tree definition, see =-=[18]-=-. Let G be a graph with vertices V and edges E. Also, let G have a weight function defined on E. Let T ` E be a spanning tree of G. We say that T is a minimum weight spanning tree (MST) of G iff for e... |

86 | A data structure for manipulating priority queues
- Vuillemin
- 1978
(Show Context)
Citation Context ...riority Queue, N Insert, 2N Insert and Deletemin, N Deletemin for all of the different PQ and MPQ implementations. In our tables, PHp is pairing heap [6], SHp is skew heap [15], BHp is binomial queue =-=[20]-=-, LHp is leftist tree [11], and FHp is Fibonacci heap [7]. Our first set of test cases consisted of a sequence of operations on only one priority queue. Here, N insert operations were followed by N de... |

67 | Finding minimum spanning trees - Cheriton, Tarjan - 1976 |

54 | Verification and Sensitivity Analysis of Minimum Spanning Trees in Linear Time
- Dixon, Rauch, et al.
- 1992
(Show Context)
Citation Context ...e behavior of the algorithm is not altered by delaying this processing. This same technique also applies to the part of deletemin which is responsible for creating a check edge. Finally, Dixon et al. =-=[5]-=- show how the correctness of an MST can be checked in linear time. Note that their result also works with the generalized definition of minimum spanning trees which we use. Thus we have the following ... |

48 |
The pairing heap: A new form of self-adjusting heap
- Fredman, Sedgewick, et al.
- 1986
(Show Context)
Citation Context ...4 50000 2366 1.92 2.54 2.67 4.07 4.82 Table 2: 1 Priority Queue, N Insert, 2N Insert and Deletemin, N Deletemin for all of the different PQ and MPQ implementations. In our tables, PHp is pairing heap =-=[6]-=-, SHp is skew heap [15], BHp is binomial queue [20], LHp is leftist tree [11], and FHp is Fibonacci heap [7]. Our first set of test cases consisted of a sequence of operations on only one priority que... |

46 |
Self adjusting heaps
- Sleator, Tarjan
- 1986
(Show Context)
Citation Context ... 2.67 4.07 4.82 Table 2: 1 Priority Queue, N Insert, 2N Insert and Deletemin, N Deletemin for all of the different PQ and MPQ implementations. In our tables, PHp is pairing heap [6], SHp is skew heap =-=[15]-=-, BHp is binomial queue [20], LHp is leftist tree [11], and FHp is Fibonacci heap [7]. Our first set of test cases consisted of a sequence of operations on only one priority queue. Here, N insert oper... |

25 |
Using certification trails to achieve software fault tolerance
- Sullivan, Masson
- 1990
(Show Context)
Citation Context ...e cases, recovery and continued execution will be possible. Finally, we mention that these checkers can be used to generate certification trails. The notion of a certification trail was introduced in =-=[16]-=- and a general method for utilizing checkers of the type presented here to generate certification trails is described in [17]. As an example application, the MPQ checker can be used to build a certifi... |

21 | Certification trails for data structures
- Sullivan, Masson
- 1991
(Show Context)
Citation Context ...ave designed an O(N)-time algorithm which checks the answers given by these abstract data types. This linear-time answer checker is the first known for the MPQ abstract data type. In a previous paper =-=[17]-=- we presented a linear-time algorithm for checking the answers from PQs. We have found that the MPQ algorithm can also be used as a new efficient linear-time checker for PQs. Using techniques similar ... |

12 |
Three priority queue applications revisited
- Liao
- 1992
(Show Context)
Citation Context ...PQ checker, we obtained the code to five different PQ and MPQ implementations which were recently tested in an article which appeared in the Application Experience section of the Journal Algorithmica =-=[12]-=-. This study is an extensive evaluation of different PQ and MPQ implementations. Our results show that the checker is substantially faster than the fastest of these implementations of PQs and MPQs on ... |

6 |
Testing the Optimality of Alphabetic Trees
- Ramanan
- 1992
(Show Context)
Citation Context ...e n is the size of the search tree constructed. This result is better than the previously best known checker for optimal alphabetic search trees, which ran in O(n) time only for certain special cases =-=[13]-=-. 2 Definitions We now describe the operations that we consider. The basic operand type is a pair (it ; val). it is a positive integer, and is called the item number for the pair. Item numbers are use... |

6 |
Error Models for Robust Data Structures
- Taylor
- 1990
(Show Context)
Citation Context ...data. Another possible application for our checkers occurs when one is used in conjunction with a repairable data structure which allows for repair but does not automatically attempt to detect faults =-=[19]-=-. Suppose a PQ or MPQ abstract data type is implemented with a repairable data structure. One can use one of our checkers to detect errors in the answers generated by the abstract data type. When an e... |