Table Of ContentSpringer LINK: Lecture Notes in Computer Science
M. Penttonen, E. Meineche Schmidt (Eds.):
Algorithm Theory - SWAT 2002
8th Scandinavian Workshop on Algorithm Theory, Turku,
Finland, July 3-5, 2002. Proceedings
LNCS 2368
Ordering Information
Table of Contents
Title pages in PDF (9 KB)
In Memory of Timo Raita in PDF (14 KB)
Preface in PDF (15 KB)
Organization in PDF (20 KB)
Table of Contents in PDF (45 KB)
Invited Speakers
An Efficient Quasidictionary
Torben Hagerup and Rajeev Raman
LNCS 2368, p. 1 ff.
Abstract | Full article in PDF (217 KB)
http://buffy.lib.unimelb.edu.au:2150/link/service/series/0558/tocs/t2368.htm (1 of 7) [9/30/2002 10:21:43 PM]
Springer LINK: Lecture Notes in Computer Science
Combining Pattern Discovery and Probabilistic Modeling in Data Mining
Heikki Mannila
LNCS 2368, p. 19
Abstract | Full article in PDF (33 KB)
Scheduling
Time and Space Efficient Multi-method Dispatching
Stephen Alstrup, Gerth Stølting Brodal, Inge Li Gørtz, and Theis Rauhe
LNCS 2368, p. 20 ff.
Abstract | Full article in PDF (160 KB)
Linear Time Approximation Schemes for Vehicle Scheduling
John E. Augustine and Steven S. Seiden
LNCS 2368, p. 30 ff.
Abstract | Full article in PDF (160 KB)
Minimizing Makespan for the Lazy Bureaucrat Problem
Clint Hepner and Cliff Stein
LNCS 2368, p. 40 ff.
Abstract | Full article in PDF (149 KB)
A PTAS for the Single Machine Scheduling Problem with Controllable Processing Times
Monaldo Mastrolilli
LNCS 2368, p. 51 ff.
Abstract | Full article in PDF (154 KB)
Computational Geometry
Optimum Inapproximability Results for Finding Minimum Hidden Guard Sets in
Polygons and Terrains
Stephan Eidenbenz
LNCS 2368, p. 60 ff.
Abstract | Full article in PDF (138 KB)
Simplex Range Searching and Nearest Neighbors of a Line Segment in 2D
Partha P. Goswami, Sandip Das, and Subhas C. Nandy
LNCS 2368, p. 69 ff.
Abstract | Full article in PDF (208 KB)
Adaptive Algorithms for Constructing Convex Hulls and Triangulations of Polygonal
Chains
Christos Levcopoulos, Andrzej Lingas, and Joseph S.B. Mitchell
LNCS 2368, p. 80 ff.
Abstract | Full article in PDF (149 KB)
http://buffy.lib.unimelb.edu.au:2150/link/service/series/0558/tocs/t2368.htm (2 of 7) [9/30/2002 10:21:43 PM]
Springer LINK: Lecture Notes in Computer Science
Exact Algorithms and Approximation Schemes for Base Station Placement Problems
Nissan Lev-Tov and David Peleg
LNCS 2368, p. 90 ff.
Abstract | Full article in PDF (174 KB)
A Factor-2 Approximation for Labeling Points with Maximum Sliding Labels
Zhongping Qin and Binhai Zhu
LNCS 2368, p. 100 ff.
Abstract | Full article in PDF (153 KB)
Optimal Algorithm for a Special Point-Labeling Problem
Sasanka Roy, Partha P. Goswami, Sandip Das, and Subhas C. Nandy
LNCS 2368, p. 110 ff.
Abstract | Full article in PDF (171 KB)
Random Arc Allocation and Applications
Peter Sanders and Berthold Vöcking
LNCS 2368, p. 121 ff.
Abstract | Full article in PDF (159 KB)
On Neighbors in Geometric Permutations
Micha Sharir and Shakhar Smorodinsky
LNCS 2368, p. 131 ff.
Abstract | Full article in PDF (152 KB)
Graph Algorithms
Powers of Geometric Intersection Graphs and Dispersion Algorithms
Geir Agnarsson, Peter Damaschke, and Magnús M. Halldórsson
LNCS 2368, p. 140 ff.
Abstract | Full article in PDF (179 KB)
Efficient Data Reduction for DOMINATING SET: A Linear Problem Kernel for the
Planar Case
Jochen Alber, Michael R. Fellows, and Rolf Niedermeier
LNCS 2368, p. 150 ff.
Abstract | Full article in PDF (242 KB)
Planar Graph Coloring with Forbidden Subgraphs: Why Trees and Paths Are Dangerous
Hajo Broersma, Fedor V. Fomin, Jan Kratochvíl, and Gerhard J. Woeginger
LNCS 2368, p. 160 ff.
Abstract | Full article in PDF (158 KB)
Approximation Hardness of the Steiner Tree Problem on Graphs
Miroslav Chlebík and Janka Chlebíková
LNCS 2368, p. 170 ff.
Abstract | Full article in PDF (146 KB)
http://buffy.lib.unimelb.edu.au:2150/link/service/series/0558/tocs/t2368.htm (3 of 7) [9/30/2002 10:21:43 PM]
Springer LINK: Lecture Notes in Computer Science
The Dominating Set Problem Is Fixed Parameter Tractable for Graphs of Bounded Genus
J. Ellis, H. Fan, and Michael R. Fellows
LNCS 2368, p. 180 ff.
Abstract | Full article in PDF (175 KB)
The Dynamic Vertex Minimum Problem and Its Application to Clustering-Type
Approximation Algorithms
Harold N. Gabow and Seth Pettie
LNCS 2368, p. 190 ff.
Abstract | Full article in PDF (131 KB)
A Polynomial Time Algorithm to Find the Minimum Cycle Basis of a Regular Matroid
Alexander Golynski and Joseph D. Horton
LNCS 2368, p. 200 ff.
Abstract | Full article in PDF (160 KB)
Approximation Algorithms for Edge-Dilation -Center Problems
Jochen Könemann, Yanjun Li, Ojas Parekh, and Amitabh Sinha
LNCS 2368, p. 210 ff.
Abstract | Full article in PDF (176 KB)
Forewarned Is Fore-Armed: Dynamic Digraph Connectivity with Lookahead Speeds Up a
Static Clustering Algorithm
Sarnath Ramnath
LNCS 2368, p. 220 ff.
Abstract | Full article in PDF (137 KB)
Improved Algorithms for the Random Cluster Graph Model
Ron Shamir and Dekel Tsur
LNCS 2368, p. 230 ff.
Abstract | Full article in PDF (187 KB)
-List Vertex Coloring in Linear Time
San Skulrattanakulchai
LNCS 2368, p. 240 ff.
Abstract | Full article in PDF (145 KB)
Robotics
Robot Localization without Depth Perception
Erik D. Demaine, Alejandro López-Ortiz, and J. Ian Munro
LNCS 2368, p. 249 ff.
Abstract | Full article in PDF (189 KB)
Online Parallel Heuristics and Robot Searching under the Competitive Framework
Alejandro López-Ortiz and Sven Schuierer
http://buffy.lib.unimelb.edu.au:2150/link/service/series/0558/tocs/t2368.htm (4 of 7) [9/30/2002 10:21:43 PM]
Springer LINK: Lecture Notes in Computer Science
LNCS 2368, p. 260 ff.
Abstract | Full article in PDF (159 KB)
Analysis of Heuristics for the Freeze-Tag Problem
Marcelo O. Sztainberg, Esther M. Arkin, Michael A. Bender, and Joseph S.B. Mitchell
LNCS 2368, p. 270 ff.
Abstract | Full article in PDF (175 KB)
Approximation Algorithms
Approximations for Maximum Transportation Problem with Permutable Supply Vector
and Other Capacitated Star Packing Problems
Esther M. Arkin, Refael Hassin, Shlomi Rubinstein, and Maxim Sviridenko
LNCS 2368, p. 280 ff.
Abstract | Full article in PDF (150 KB)
All-Norm Approximation Algorithms
Yossi Azar, Leah Epstein, Yossi Richter, and Gerhard J. Woeginger
LNCS 2368, p. 288 ff.
Abstract | Full article in PDF (147 KB)
Approximability of Dense Instances of NEAREST CODEWORD Problem
Cristina Bazgan, W. Fernandez de la Vega, and Marek Karpinski
LNCS 2368, p. 298 ff.
Abstract | Full article in PDF (152 KB)
Data Communication
Call Control with Rejections
R. Sai Anand, Thomas Erlebach, Alexander Hall, and Stamatis Stefanakos
LNCS 2368, p. 308 ff.
Abstract | Full article in PDF (95 KB)
On Network Design Problems: Fixed Cost Flows and the Covering Steiner Problem
Guy Even, Guy Kortsarz, and Wolfgang Slany
LNCS 2368, p. 318 ff.
Abstract | Full article in PDF (164 KB)
Packet Bundling
Jens S. Frederiksen and Kim S. Larsen
LNCS 2368, p. 328 ff.
Abstract | Full article in PDF (148 KB)
Algorithms for the Multi-constrained Routing Problem
Anuj Puri and Stavros Tripakis
LNCS 2368, p. 338 ff.
http://buffy.lib.unimelb.edu.au:2150/link/service/series/0558/tocs/t2368.htm (5 of 7) [9/30/2002 10:21:43 PM]
Springer LINK: Lecture Notes in Computer Science
Abstract | Full article in PDF (178 KB)
Computational Biology
Computing the Threshold for -Gram Filters
Juha Kärkkäinen
LNCS 2368, p. 348 ff.
Abstract | Full article in PDF (173 KB)
On the Generality of Phylogenies from Incomplete Directed Characters
Itsik Pe'er, Ron Shamir, and Roded Sharan
LNCS 2368, p. 358 ff.
Abstract | Full article in PDF (193 KB)
Data Storage and Manipulation
Sorting with a Forklift
M.H. Albert and M.D. Atkinson
LNCS 2368, p. 368 ff.
Abstract | Full article in PDF (117 KB)
Tree Decompositions with Small Cost
Hans L. Bodlaender and Fedor V. Fomin
LNCS 2368, p. 378 ff.
Abstract | Full article in PDF (166 KB)
Computing the Treewidth and the Minimum Fill-in with the Modular Decomposition
Hans L. Bodlaender and Udi Rotics
LNCS 2368, p. 388 ff.
Abstract | Full article in PDF (164 KB)
Performance Tuning an Algorithm for Compressing Relational Tables
Jyrki Katajainen and Jeppe Nejsum Madsen
LNCS 2368, p. 398 ff.
Abstract | Full article in PDF (147 KB)
A Randomized In-Place Algorithm for Positioning the Element in a Multiset
Jyrki Katajainen and Tomi A. Pasanen
LNCS 2368, p. 408 ff.
Abstract | Full article in PDF (165 KB)
Paging on a RAM with Limited Resources
Tony W. Lai
LNCS 2368, p. 418 ff.
Abstract | Full article in PDF (105 KB)
http://buffy.lib.unimelb.edu.au:2150/link/service/series/0558/tocs/t2368.htm (6 of 7) [9/30/2002 10:21:43 PM]
Springer LINK: Lecture Notes in Computer Science
An Optimal Algorithm for Finding NCA on Pure Pointer Machines
A. Dal Palú, E. Pontelli, and D. Ranjan
LNCS 2368, p. 428 ff.
Abstract | Full article in PDF (173 KB)
Amortized Complexity of Bulk Updates in AVL-Trees
Eljas Soisalon-Soininen and Peter Widmayer
LNCS 2368, p. 439 ff.
Abstract | Full article in PDF (139 KB)
Author Index
LNCS 2368, p. 449 ff.
Author Index in PDF (18 KB)
Online publication: June 21, 2002
helpdesk@link.springer.de
© Springer-Verlag Berlin Heidelberg 2002
http://buffy.lib.unimelb.edu.au:2150/link/service/series/0558/tocs/t2368.htm (7 of 7) [9/30/2002 10:21:43 PM]
An Efficient Quasidictionary
Torben Hagerup1 and Rajeev Raman2(cid:1)
1 Institut fu¨r Informatik, Johann Wolfgang Goethe-Universit¨at Frankfurt,
D–60054 Frankfurt am Main. hagerup@ka.informatik.uni-frankfurt.de
2 Department of Maths and Computer Science, University of Leicester,
Leicester LE1 7RH, UK. r.raman@mcs.le.ac.uk
Abstract. We define a quasidictionary to be a data structure that
supports the following operations: check-in(v) inserts a data item v
and returns a positive integer tag to be used in future references to v;
check-out(x)deletesthedataitemwithtagx;access(x)inspectsand/or
modifies the data item with tag x. A quasidictionary is similar to a
dictionary, the difference being that the names identifying data items
are chosen by the data structure rather than by its user. We describe a
deterministic quasidictionary that executes the operations check-in and
accessinconstanttimeandcheck-outinconstantamortizedtime,works
inlinearspace,andusesonlytagsboundedbythemaximumnumberof
dataitemsstoredsimultaneouslyinthequasidictionarysinceitwaslast
empty.
1 Introduction
Many data structures for storing collections of elements and executing certain
operations on them have been developed. For example, the red-black tree [14]
supports the operations insert, delete, and access, among others, and the Fi-
bonacci heap [10] supports such operations as insert, decrease, and extractmin.
An element is typically composed of a number of fields, each of which holds a
value.Manycommonoperationsoncollectionsofelementslogicallypertaintoa
specificelementamongthosecurrentlystored.E.g.,thetaskofadeleteoperation
is to remove an element from the collection, and that of a decrease operation is
to lower the value of a field of a certain element. Therefore the question arises
of how a user of a data structure can refer to a specific element among those
present in the data structure.
Theelementsstoredinared-blacktreeallcontainadistinguishedkeydrawn
from some totally ordered set, and the tree is ordered with respect to the keys.
In some cases, it suffices to specify an element to be deleted, say, through its
key. If several elements may have the same key, however, this approach is not
usable, as it may not be immaterial which of the elements with a common key
gets deleted. Even when keys are unique, specifying an element to be deleted
from a Fibonacci heap through its key is not a good idea, as Fibonacci heaps
(cid:1) Supported in part by EPSRC grant GR L/92150.
M.PenttonenandE.MeinecheSchmidt(Eds.):SWAT2002,LNCS2368,pp.1–18,2002.
(cid:1)c Springer-VerlagBerlinHeidelberg2002
2 T. Hagerup and R. Raman
do not support (efficient) searching: Locating the relevant key may involve the
inspectionofessentiallyalloftheelementsstored,anunacceptableoverhead.In
stillothercases,suchaswithfingertrees[5,17],eventhoughreasonablyefficient
search is available, it may be possible to execute certain operations such as
deletions faster if one already knows “where to start”.
For these reasons, careful specifications of data-structure operations such as
delete state that one of their arguments, rather than being the element to be
operated on, is a pointer to that element. Several interpretations of the exact
meaning of this are possible. In their influential textbook, Cormen et al. use the
convention that elements are actually stored “outside of” the data structures,
the latter storing only pointers to the elements [6, Part III, Introduction]. Thus
insertanddeleteoperationsaliketakeapointertoanelementastheirargument.
In contrast, the convention employed by the LEDA library is that (copies of)
elements are stored “inside” the data structures, and that an insertion of an
element returns a pointer (a “dependent item”, in LEDA parlance) to be used
in future references to the element [19, Section 2.2].
The method employed by Cormen et al. can have its pitfalls. Consider, e.g.,
the code proposed for the procedure Binomial-Heap-Decrease-Key in [6,
Section 20.2] and note that the “bubbling up” step repeatedly exchanges the
key fields and all satellite fields of two nodes y and z, in effect causing y and z
to refer to different elements afterwards. Because of this, repeated calls such as
Binomial-Heap-Decrease-Key(H,x,k ); Binomial-Heap-Decrease-Key
1
(H,x,k ), despite their appearance, may not access the same logical element.
2
Indeed, as binomial heaps do not support efficient searching, it will not be easy
forausertogetholdofvalidargumentsxtouseincallsoftheformBinomial-
Heap-Decrease-Key(H,x,k). One might think that this problem could be
solvedbypreservingthekey andsatellitefieldsofthenodesy andz andinstead
exchanging their positions within the relevant binomial tree. Because of the
high degrees of some nodes in binomial trees, however, this would ruin the time
bounds established for the Binomial-Heap-Decrease-Key operation.
Presumably in recognition of this problem, in the second edition of their
book, Cormen et al. include a discussion of so-called handles [7, Section 6.5].
One kind of handle, which we might call an inward handle, is a pointer from an
element of an application program to its representation in a data structure in
which,conceptually,itisstored.Theinwardhandlehasacorrespondingoutward
handle that points in the opposite direction. Whenever the representation of an
element is moved within a data structure, its outward handle is used to locate
and update the corresponding inward handle. While this solution is correct, it
is not modular, in that the data structure must incorporate knowledge of the
applicationprogramthatusesit.Itcanbearguedthatthisgoesagainstcurrent
trends in software design.
A solution that does not suffer from this drawback can be obtained by em-
ploying the LEDA convention described above and introducing one more level
of indirection: The pointer supplied by the user of a binomial heap would then
point not into the heap itself, but to an auxiliary location that contains the
An Efficient Quasidictionary 3
actualpointerintotheheapandisupdatedappropriatelywhenevertheelement
designated moves within the heap.
In the following, we adopt the LEDA convention and assume that every
insertion of an element into a data structure returns a pointer to be used in
future references to the element. The pointer can be interpreted as a positive
integer,whichwewillcallthetag oftheelement.Ateveryinsertionofanelement,
thedatastructuremusttherefore“invent”asuitabletagandhandittotheuser,
whomaysubsequentlyaccesstheelementanarbitrarynumberoftimesthrough
its tag. Eventually the user may delete the element under consideration, thus in
effect returning its tag to the data structure for possible reuse. During the time
interval in which a user is allowed to access some element through a tag, we say
that the tag is in use. When the tag is not in use, it is free. Fig. 1 contrasts the
solution using handles with the one based on tags.
Application Data structure Application Data structure
handles
tags
(a) (b)
Fig.1.Theinterplaybetweenanapplicationandadatastructurebasedon(a)handles
and (b) tags.
It might seem that the only constraint that a data structure must observe
when “inventing” a tag is that the tag should not already be in use. This con-
straint can easily be satisfied by maintaining the set of free tags in a linked list:
When a new tag is needed, the first tag on the free list is deleted from the list
and put into use, and a returned tag is inserted at the front of the list. In gen-
eral,however,adatastructurehasclosetonocontroloverwhichtagsareinuse.
In particular, it may happen that at some point, it contains only few elements,
but that these have very large tags. Recall that the purpose of a tag is to allow
efficient access to an element stored in the data structure. The straightforward
way to realize this is to store pointers to elements inside the data structure in
a tag array indexed by tag values. Now, if some tags are very large (compared
to the current number of elements), the tag array may have to be much bigger
than the remaining parts of the data structure, putting any bounds established
for its space consumption in jeopardy.
In his discussion of adding the delete operation to priority queues that lack
it, Thorup [23, Section 2.3] proposes the use of tags (called “identifiers”) and a
tag array (called “D”). He recognizes the problem that identifiers may become
toobigforthecurrentnumberofelements.Thesolutionthatheputsforwardto