Table Of ContentAlgorithms and Theory of
Computation Handbook
Second Edition
General Concepts
and Techniques
Edited by
Mikhail J. Atallah
Marina Blanton
Atallah/AlgorithmsandTheoryofComputationHandbook:SecondEdition C8229_C000 Finals Page i 2009-10-19
Chapman & Hall/CRC
Applied Algorithms and Data Structures Series
Series Editor
Samir Khuller
University of Maryland
Aims and Scopes
The design and analysis of algorithms and data structures form the foundation of computer
science. As current algorithms and data structures are improved and new methods are in-
troduced, it becomes increasingly important to present the latest research and applications
to professionals in the field.
This series aims to capture new developments and applications in the design and analysis
of algorithms and data structures through the publication of a broad range of textbooks,
reference works, and handbooks. We are looking for single authored works and edited
compilations that will:
(cid:114)(cid:1) Appeal to students and professionals by providing introductory as well as advanced
material on mathematical, statistical, and computational methods and techniques
(cid:114)(cid:1) Present researchers with the latest theories and experimentation
(cid:114)(cid:1) Supply information to interdisciplinary researchers and practitioners who use algo-
rithms and data structures but may not have advanced computer science backgrounds
The inclusion of concrete examples and applications is highly encouraged. The scope of
the series includes, but is not limited to, titles in the areas of parallel algorithms, approxi-
mation algorithms, randomized algorithms, graph algorithms, search algorithms, machine
learning algorithms, medical algorithms, data structures, graph structures, tree data struc-
tures, and more. We are willing to consider other relevant topics that might be proposed by
potential contributors.
Proposals for the series may be submitted to the series editor or directly to:
Randi Cohen
Acquisitions Editor
Chapman & Hall/CRC Press
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487
Atallah/AlgorithmsandTheoryofComputationHandbook:SecondEdition C8229_C000 Finals Page ii 2009-10-19
AlgorithmsandTheoryofComputationHandbook,SecondEdition
AlgorithmsandTheoryofComputationHandbook,SecondEdition:GeneralConcepts
andTechniques
AlgorithmsandTheoryofComputationHandbook,SecondEdition:SpecialTopics
andTechniques
Atallah/AlgorithmsandTheoryofComputationHandbook:SecondEdition C8229_C000 Finals Page iii 2009-10-19
Chapman & Hall/CRC
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
© 2010 by Taylor and Francis Group, LLC
Chapman & Hall/CRC is an imprint of Taylor & Francis Group, an Informa business
No claim to original U.S. Government works
Printed in the United States of America on acid-free paper
10 9 8 7 6 5 4 3 2 1
International Standard Book Number: 978-1-58488-822-2 (Hardback)
This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been
made to publish reliable data and information, but the author and publisher cannot assume responsibility for the valid-
ity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright
holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this
form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may
rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or uti-
lized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopy-
ing, microfilming, and recording, or in any information storage or retrieval system, without written permission from the
publishers.
For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://
www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923,
978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For
organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for
identification and explanation without intent to infringe.
Library of Congress Cataloging-in-Publication Data
Algorithms and theory of computation handbook. General concepts and techniques / editors, Mikhail
J. Atallah and Marina Blanton. -- 2nd ed.
p. cm. -- (Chapman & Hall/CRC applied algorithms and data structures series)
Includes bibliographical references and index.
ISBN 978-1-58488-822-2 (alk. paper)
1. Computer algorithms. 2. Computer science. 3. Computational complexity. I. Atallah, Mikhail J.
II. Blanton, Marina. III. Title. IV. Series.
QA76.9.A43A432 2009
005.1--dc22 2009017979
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
and the CRC Press Web site at
http://www.crcpress.com
Atallah/AlgorithmsandTheoryofComputationHandbook:SecondEdition C8229_C000 Finals Page iv 2009-10-19
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
1 AlgorithmDesignandAnalysisTechniques
EdwardM.Reingold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
2 Searching
RicardoBaeza-YatesandPatricioV.Poblete . . . . . . . . . . . . . . . . . . . . . 2-1
3 SortingandOrderStatistics
VladimirEstivill-Castro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
4 BasicDataStructures
RobertoTamassiaandBryanCantrill . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
5 TopicsinDataStructures
GiuseppeF.ItalianoandRajeevRaman . . . . . . . . . . . . . . . . . . . . . . . . 5-1
6 MultidimensionalDataStructuresforSpatialApplications
HananSamet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
7 BasicGraphAlgorithms
SamirKhullerandBalajiRaghavachari . . . . . . . . . . . . . . . . . . . . . . . . 7-1
8 AdvancedCombinatorialAlgorithms
SamirKhullerandBalajiRaghavachari . . . . . . . . . . . . . . . . . . . . . . . . 8-1
9 DynamicGraphAlgorithms
CamilDemetrescu,DavidEppstein,ZviGalil,andGiuseppeF.Italiano . . . . . 9-1
10 External-MemoryAlgorithmsandDataStructures
LarsArgeandNorbertZeh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
11 AverageCaseAnalysisofAlgorithms
WojciechSzpankowski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1
v
Atallah/AlgorithmsandTheoryofComputationHandbook:SecondEdition C8229_C000 Finals Page v 2009-10-19
vi Contents
12 RandomizedAlgorithms
RajeevMotwaniandPrabhakarRaghavan . . . . . . . . . . . . . . . . . . . . . . 12-1
13 PatternMatchinginStrings
MaximeCrochemoreandChristopheHancart . . . . . . . . . . . . . . . . . . . . 13-1
14 TextDataCompressionAlgorithms
MaximeCrochemoreandThierryLecroq . . . . . . . . . . . . . . . . . . . . . . . 14-1
15 GeneralPatternMatching
AlbertoApostolico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1
16 ComputationalNumberTheory
SamuelS.Wagstaff,Jr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1
17 AlgebraicandNumericalAlgorithms
IoannisZ.Emiris,VictorY.Pan,andEliasP.Tsigaridas . . . . . . . . . . . . . . 17-1
18 ApplicationsofFFTandStructuredMatrices
IoannisZ.EmirisandVictorY.Pan . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1
19 BasicNotionsinComputationalComplexity
TaoJiang,MingLi,andBalaRavikumar . . . . . . . . . . . . . . . . . . . . . . . 19-1
20 FormalGrammarsandLanguages
TaoJiang,MingLi,BalaRavikumar,andKennethW.Regan . . . . . . . . . . . 20-1
21 Computability
TaoJiang,MingLi,BalaRavikumar,andKennethW.Regan . . . . . . . . . . . 21-1
22 ComplexityClasses
EricAllender,MichaelC.Loui,andKennethW.Regan . . . . . . . . . . . . . . . 22-1
23 ReducibilityandCompleteness
EricAllender,MichaelC.Loui,andKennethW.Regan . . . . . . . . . . . . . . . 23-1
24 OtherComplexityClassesandMeasures
EricAllender,MichaelC.Loui,andKennethW.Regan . . . . . . . . . . . . . . . 24-1
25 ParameterizedAlgorithms
RodneyG.DowneyandCatherineMcCartin . . . . . . . . . . . . . . . . . . . . . 25-1
26 ComputationalLearningTheory
SallyA.Goldman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26-1
27 AlgorithmicCodingTheory
AtriRudra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27-1
Atallah/AlgorithmsandTheoryofComputationHandbook:SecondEdition C8229_C000 Finals Page vi 2009-10-19
Contents vii
28 ParallelComputation:Models andComplexityIssues
RaymondGreenlawandH.JamesHoover . . . . . . . . . . . . . . . . . . . . . . 28-1
29 DistributedComputing:AGlimmerofaTheory
EliGafni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29-1
30 LinearProgramming
VijayChandruandM.R.Rao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30-1
31 IntegerProgramming
VijayChandruandM.R.Rao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31-1
32 ConvexOptimization
FlorianJarreandStephenA.Vavasis . . . . . . . . . . . . . . . . . . . . . . . . . 32-1
33 SimulatedAnnealingTechniques
AlbertY.ZomayaandRickKazman . . . . . . . . . . . . . . . . . . . . . . . . . . 33-1
34 ApproximationAlgorithmsforNP-HardOptimizationProblems
PhilipN.KleinandNealE.Young . . . . . . . . . . . . . . . . . . . . . . . . . . . 34-1
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-1
Atallah/AlgorithmsandTheoryofComputationHandbook:SecondEdition C8229_C000 Finals Page vii 2009-10-19
Atallah/AlgorithmsandTheoryofComputationHandbook:SecondEdition C8229_C000 Finals Page viii 2009-10-19
Preface
Thishandbookaimstoprovideacomprehensivecoverageofalgorithmsandtheoreticalcomputer
science for computer scientists, engineers, and other professionals in related scientific and engi-
neeringdisciplines.Itsfocusistoprovideacompendiumoffundamentaltopicsandtechniquesfor
professionals,includingpracticingengineers,students,andresearchers.Thehandbookisorganized
alongthemainsubjectareasofthedisciplineandalsocontainschaptersfromapplicationareasthat
illustratehowthefundamentalconceptsandtechniquescometogethertoprovideefficientsolutions
toimportantpracticalproblems.
Thecontentsofeachchapterwerechoseninsuchamannerastohelpthecomputerprofessional
andtheengineerinfindingsignificantinformationonatopicofhisorherinterest.Whilethereader
may not find all the specialized topics in a given chapter, nor will the coverage of each topic be
exhaustive,thereadershouldbeabletofindsufficientinformationforinitialinquiriesandanumber
ofreferencestothecurrentin-depthliterature.Inadditiontodefiningterminologyandpresenting
thebasicresultsandtechniquesfortheirrespectivetopics,thechaptersalsoprovideaglimpseofthe
majorresearchissuesconcerningtherelevanttopics.
Compared to the first edition, this edition contains 21 new chapters and therefore provides a
significantlybroadercoverageofthefieldanditsapplicationareas.This,togetherwiththeupdating
andrevisionofmanyofthechaptersfromthefirstedition,hasmadeitnecessarytomoveintoa
two-volumeformat.
Itisapleasuretoextendourthankstothepeopleandorganizationswhomadethishandbook
possible:firstandforemostthechapterauthors,whosededicationandexpertiseareatthecoreof
thishandbook;theuniversitiesandresearchlaboratorieswithwhichtheauthorsareaffiliatedfor
providing the computing and communication facilities and the intellectual environment for this
project;RandiCohenandhercolleaguesatTaylor&Francisforperfectorganizationandlogistics
thatsparedusthetediousaspectsofsuchaprojectandenabledustofocusonitsscholarlyside;and,
lastbutnotleast,ourspousesandfamilies,whoprovidedmoralsupportandencouragement.
MikhailAtallah
MarinaBlanton
ix
Atallah/AlgorithmsandTheoryofComputationHandbook:SecondEdition C8229_C000 Finals Page ix 2009-10-19