@inproceedings{7a05333c64af492fa44b186a1beb0cea,
title = "Priority Queue Classes with Priority Update",
abstract = "A limitation in the design of the interface of C++ containers (i.e., data structure implementations) is addressed. Priority queues and their use in Dijkstra's shortest path search algorithm are used as an example. Priority queues are often implemented using heaps. There is a problem, however: it may be necessary to change the priority of an element while it is in the queue, but finding the element from within a heap is costly. The problem may be solved by keeping track, in a variable that is outside the heap, of the position of the element in the heap. Unfortunately, this is impossible with the template class interface used by the C++ standard library priority queue. In this research, the problem is analysed in detail. Three interface designs and the corresponding implementations are suggested. They are compared experimentally to each other and the C++ design. ",
author = "Matti Rintala and Antti Valmari",
note = "ORG=tie,0.5 ORG=mat,0.5; Symposium on Programming Languages and Software Tools ; Conference date: 01-01-1900",
year = "2015",
month = dec,
day = "14",
language = "English",
volume = "1525",
series = "CEUR Workshop Proceedings",
publisher = "CEUR-WS.org",
pages = "179--193",
editor = "Jyrki Nummenmaa and Outi Sievi-Korte and Erkki M{\"a}kinen",
booktitle = "SPLST 2015 Symposium on Programming Languages and Software Tools",
}