100% found this document useful (1 vote)
17 views

Graphs algorithms and optimization 2nd ed Edition Kocay instant download

The document provides information about various optimization and graph theory books available for download, including 'Graphs, Algorithms, and Optimization' by William L. Kocay and Donald L. Kreher. It lists multiple titles related to optimization algorithms, combinatorial optimization, and discrete mathematics. Additionally, it includes links to access these ebooks and mentions the authors' appreciation for significant contributors to their mathematical development.

Uploaded by

basarikeafon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
17 views

Graphs algorithms and optimization 2nd ed Edition Kocay instant download

The document provides information about various optimization and graph theory books available for download, including 'Graphs, Algorithms, and Optimization' by William L. Kocay and Donald L. Kreher. It lists multiple titles related to optimization algorithms, combinatorial optimization, and discrete mathematics. Additionally, it includes links to access these ebooks and mentions the authors' appreciation for significant contributors to their mathematical development.

Uploaded by

basarikeafon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 78

Graphs algorithms and optimization 2nd ed

Edition Kocay pdf download

https://ebookgate.com/product/graphs-algorithms-and-
optimization-2nd-ed-edition-kocay/

Get Instant Ebook Downloads – Browse at https://ebookgate.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Optimization Algorithms In Physics 1st ed Edition


Alexander K. Hartmann

https://ebookgate.com/product/optimization-algorithms-in-physics-1st-
ed-edition-alexander-k-hartmann/

ebookgate.com

Optimization algorithms on matrix manifolds P.-A. Absil

https://ebookgate.com/product/optimization-algorithms-on-matrix-
manifolds-p-a-absil/

ebookgate.com

Bandit Algorithms for Website Optimization 1st Edition


John Myles White

https://ebookgate.com/product/bandit-algorithms-for-website-
optimization-1st-edition-john-myles-white/

ebookgate.com

Support Vector Machines Optimization Based Theory


Algorithms and Extensions 1st Edition Naiyang Deng

https://ebookgate.com/product/support-vector-machines-optimization-
based-theory-algorithms-and-extensions-1st-edition-naiyang-deng/

ebookgate.com
Inherently Parallel Algorithms in Feasibility and
Optimization and their Applications 1st Edition Dan
Butnariu
https://ebookgate.com/product/inherently-parallel-algorithms-in-
feasibility-and-optimization-and-their-applications-1st-edition-dan-
butnariu/
ebookgate.com

Precalculus functions and graphs 12th ed Edition Earl


William Swokowski

https://ebookgate.com/product/precalculus-functions-and-graphs-12th-
ed-edition-earl-william-swokowski/

ebookgate.com

Optimization of chemical processes 2nd ed Edition Thomas


F. Edgar

https://ebookgate.com/product/optimization-of-chemical-processes-2nd-
ed-edition-thomas-f-edgar/

ebookgate.com

Applications of Combinatorial Optimization 2nd ed Edition


Vangelis Th. Paschos

https://ebookgate.com/product/applications-of-combinatorial-
optimization-2nd-ed-edition-vangelis-th-paschos/

ebookgate.com

Handbook of Product Graphs 2nd Edition Richard Hammack

https://ebookgate.com/product/handbook-of-product-graphs-2nd-edition-
richard-hammack/

ebookgate.com
GRAPHS,
ALGORITHMS,
AND OPTIMIZATION
Second edition
DISCRETE
MATHEMATICS
ITS APPLICATIONS
R. B. J. T. Allenby and Alan Slomson, How to Count: An Introduction to Combinatorics,
Third Edition
Craig P. Bauer, Secret History: The Story of Cryptology
Jürgen Bierbrauer, Introduction to Coding Theory, Second Edition
Katalin Bimbó, Combinatory Logic: Pure, Applied and Typed
Katalin Bimbó, Proof Theory: Sequent Calculi and Related Formalisms
Donald Bindner and Martin Erickson, A Student’s Guide to the Study, Practice, and Tools of
Modern Mathematics
Francine Blanchet-Sadri, Algorithmic Combinatorics on Partial Words
Miklós Bóna, Combinatorics of Permutations, Second Edition
Miklós Bóna, Handbook of Enumerative Combinatorics
Miklós Bóna, Introduction to Enumerative and Analytic Combinatorics, Second Edition
Jason I. Brown, Discrete Structures and Their Interactions
Richard A. Brualdi and Dragos̆ Cvetković, A Combinatorial Approach to Matrix Theory and Its
Applications
Kun-Mao Chao and Bang Ye Wu, Spanning Trees and Optimization Problems
Charalambos A. Charalambides, Enumerative Combinatorics
Gary Chartrand and Ping Zhang, Chromatic Graph Theory
Henri Cohen, Gerhard Frey, et al., Handbook of Elliptic and Hyperelliptic Curve Cryptography
Charles J. Colbourn and Jeffrey H. Dinitz, Handbook of Combinatorial Designs, Second Edition
Abhijit Das, Computational Number Theory
Matthias Dehmer and Frank Emmert-Streib, Quantitative Graph Theory:
Mathematical Foundations and Applications
Martin Erickson, Pearls of Discrete Mathematics
Martin Erickson and Anthony Vazzana, Introduction to Number Theory
Titles (continued)

Steven Furino, Ying Miao, and Jianxing Yin, Frames and Resolvable Designs: Uses,
Constructions, and Existence
Mark S. Gockenbach, Finite-Dimensional Linear Algebra
Randy Goldberg and Lance Riek, A Practical Handbook of Speech Coders
Jacob E. Goodman and Joseph O’Rourke, Handbook of Discrete and Computational Geometry,
Second Edition
Jonathan L. Gross, Combinatorial Methods with Computer Applications
Jonathan L. Gross and Jay Yellen, Graph Theory and Its Applications, Second Edition
Jonathan L. Gross, Jay Yellen, and Ping Zhang Handbook of Graph Theory, Second Edition
David S. Gunderson, Handbook of Mathematical Induction: Theory and Applications
Richard Hammack, Wilfried Imrich, and Sandi Klavžar, Handbook of Product Graphs,
Second Edition
Darrel R. Hankerson, Greg A. Harris, and Peter D. Johnson, Introduction to Information Theory
and Data Compression, Second Edition
Darel W. Hardy, Fred Richman, and Carol L. Walker, Applied Algebra: Codes, Ciphers, and
Discrete Algorithms, Second Edition
Daryl D. Harms, Miroslav Kraetzl, Charles J. Colbourn, and John S. Devitt, Network Reliability:
Experiments with a Symbolic Algebra Environment
Silvia Heubach and Toufik Mansour, Combinatorics of Compositions and Words
Leslie Hogben, Handbook of Linear Algebra, Second Edition
Derek F. Holt with Bettina Eick and Eamonn A. O’Brien, Handbook of Computational Group Theory
David M. Jackson and Terry I. Visentin, An Atlas of Smaller Maps in Orientable and
Nonorientable Surfaces
Richard E. Klima, Neil P. Sigmon, and Ernest L. Stitzinger, Applications of Abstract Algebra
with Maple™ and MATLAB®, Second Edition
Richard E. Klima and Neil P. Sigmon, Cryptology: Classical and Modern with Maplets
Patrick Knupp and Kambiz Salari, Verification of Computer Codes in Computational Science
and Engineering
William L. Kocay and Donald L. Kreher, Graphs, Algorithms, and Optimization, Second Edition
Donald L. Kreher and Douglas R. Stinson, Combinatorial Algorithms: Generation Enumeration
and Search
Hang T. Lau, A Java Library of Graph Algorithms and Optimization
C. C. Lindner and C. A. Rodger, Design Theory, Second Edition
San Ling, Huaxiong Wang, and Chaoping Xing, Algebraic Curves in Cryptography
Nicholas A. Loehr, Bijective Combinatorics
Toufik Mansour, Combinatorics of Set Partitions
Titles (continued)

Toufik Mansour and Matthias Schork, Commutation Relations, Normal Ordering, and Stirling
Numbers
Alasdair McAndrew, Introduction to Cryptography with Open-Source Software
Elliott Mendelson, Introduction to Mathematical Logic, Fifth Edition
Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone, Handbook of Applied
Cryptography
Stig F. Mjølsnes, A Multidisciplinary Introduction to Information Security
Jason J. Molitierno, Applications of Combinatorial Matrix Theory to Laplacian Matrices of Graphs
Richard A. Mollin, Advanced Number Theory with Applications
Richard A. Mollin, Algebraic Number Theory, Second Edition
Richard A. Mollin, Codes: The Guide to Secrecy from Ancient to Modern Times
Richard A. Mollin, Fundamental Number Theory with Applications, Second Edition
Richard A. Mollin, An Introduction to Cryptography, Second Edition
Richard A. Mollin, Quadratics
Richard A. Mollin, RSA and Public-Key Cryptography
Carlos J. Moreno and Samuel S. Wagstaff, Jr., Sums of Squares of Integers
Gary L. Mullen and Daniel Panario, Handbook of Finite Fields
Goutam Paul and Subhamoy Maitra, RC4 Stream Cipher and Its Variants
Dingyi Pei, Authentication Codes and Combinatorial Designs
Kenneth H. Rosen, Handbook of Discrete and Combinatorial Mathematics
Yongtang Shi, Matthias Dehmer, Xueliang Li, and Ivan Gutman, Graph Polynomials
Douglas R. Shier and K.T. Wallenius, Applied Mathematical Modeling: A Multidisciplinary
Approach
Alexander Stanoyevitch, Introduction to Cryptography with Mathematical Foundations and
Computer Implementations
Jörn Steuding, Diophantine Analysis
Douglas R. Stinson, Cryptography: Theory and Practice, Third Edition
Roberto Tamassia, Handbook of Graph Drawing and Visualization
Roberto Togneri and Christopher J. deSilva, Fundamentals of Information Theory and Coding
Design
W. D. Wallis, Introduction to Combinatorial Designs, Second Edition
W. D. Wallis and J. C. George, Introduction to Combinatorics
Jiacun Wang, Handbook of Finite State Based Models and Applications
Lawrence C. Washington, Elliptic Curves: Number Theory and Cryptography, Second Edition
DISCRETE MATHEMATICS AND ITS APPLICATIONS

GRAPHS,
ALGORITHMS,
AND OPTIMIZATION
Second edition

William l. Kocay
University of Manitoba
Winnipeg, Canada

DonalD l. Kreher
Michigan Technological University
Houghton, USA
CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
© 2017 by Taylor & Francis Group, LLC
CRC Press is an imprint of Taylor & Francis Group, an Informa business

No claim to original U.S. Government works

Printed on acid-free paper


Version Date: 20160727

International Standard Book Number-13: 978-1-4822-5116-6 (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 validity 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 utilized in any form by any electronic, mechanical, or other means, now known or
hereafter invented, including photocopying, microfilming, and recording, or in any information stor-
age or retrieval system, without written permission from the publishers.

For permission to photocopy or use material electronically from this work, please access www.copy-
right.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 pro-
vides licenses and registration for a variety of users. For organizations that have been granted a photo-
copy 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.
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
and the CRC Press Web site at
http://www.crcpress.com
The authors would like to take this opportunity to express their appreciation and
gratitude to the following people who have had a very significant effect on their
mathematical development:
Adrian Bondy, Earl Kramer, Spyros Magliveras, Ron Read, and Ralph Stanton.

This book is dedicated to the memory of


William T. Tutte, (1917–2002)
“ the greatest of the graphmen ”
Contents

Preface xvii

1 Graphs and Their Complements 1


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Degree sequences . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Havel-Hakimi theorem . . . . . . . . . . . . . . . . . 14
1.2.2 Erdös-Gallai theorem . . . . . . . . . . . . . . . . . . 15
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2 Paths and Walks 23


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 Walks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 The shortest-path problem . . . . . . . . . . . . . . . . . . . 29
2.5 Weighted graphs and Dijkstra’s algorithm . . . . . . . . . . . 33
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6 Data structures . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.7 Floyd’s algorithm . . . . . . . . . . . . . . . . . . . . . . . . 41
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.8 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3 Subgraphs 45
3.1 Counting subgraphs . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1 Möbius inversion . . . . . . . . . . . . . . . . . . . . 46
3.1.2 Counting triangles . . . . . . . . . . . . . . . . . . . 49
3.2 Multiplying subgraph counts . . . . . . . . . . . . . . . . . . 50
3.3 Mixed subgraphs . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4 Graph reconstruction . . . . . . . . . . . . . . . . . . . . . . 53
3.4.1 Nash-Williams’ lemma . . . . . . . . . . . . . . . . . 54
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

ix
x Contents

3.5 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4 Some Special Classes of Graphs 57


4.1 Bipartite graphs . . . . . . . . . . . . . . . . . . . . . . . . . 57
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2 Line graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Moore graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4 Euler tours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4.1 An Euler tour algorithm . . . . . . . . . . . . . . . . . 68
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5 Trees and Cycles 73


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2 Fundamental cycles . . . . . . . . . . . . . . . . . . . . . . . 74
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3 Co-trees and bonds . . . . . . . . . . . . . . . . . . . . . . . 76
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.4 Spanning tree algorithms . . . . . . . . . . . . . . . . . . . . 80
5.4.1 Prim’s algorithm . . . . . . . . . . . . . . . . . . . . 81
5.4.1.1 Data structures . . . . . . . . . . . . . . . . 83
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.4.2 Kruskal’s algorithm . . . . . . . . . . . . . . . . . . . 85
5.4.2.1 Data structures and complexity . . . . . . . 85
5.4.3 The Cheriton-Tarjan algorithm . . . . . . . . . . . . . 86
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.4.4 Leftist binary trees . . . . . . . . . . . . . . . . . . . 88
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.5 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

6 The Structure of Trees 97


6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.2 Non-rooted trees . . . . . . . . . . . . . . . . . . . . . . . . . 98
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.3 Read’s tree encoding algorithm . . . . . . . . . . . . . . . . . 100
6.3.1 The decoding algorithm . . . . . . . . . . . . . . . . . 103
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.4 Generating rooted trees . . . . . . . . . . . . . . . . . . . . . 105
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.5 Generating non-rooted trees . . . . . . . . . . . . . . . . . . . 113
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
6.6 Prüfer sequences . . . . . . . . . . . . . . . . . . . . . . . . 114
6.7 Spanning trees . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Contents xi

6.8 The matrix-tree theorem . . . . . . . . . . . . . . . . . . . . . 118


Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.9 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

7 Connectivity 125
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.2 Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.3 Finding the blocks of a graph . . . . . . . . . . . . . . . . . . 131
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.4 The depth-first search . . . . . . . . . . . . . . . . . . . . . . 134
7.4.1 Complexity . . . . . . . . . . . . . . . . . . . . . . . 140
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.5 Sections and modules . . . . . . . . . . . . . . . . . . . . . . 141
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.6 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

8 Graphs and Symmetry 147


8.1 Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.2 Cayley graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 150
8.3 Coset diagrams . . . . . . . . . . . . . . . . . . . . . . . . . 152
8.3.1 Double cosets . . . . . . . . . . . . . . . . . . . . . . 154
8.4 Conjugation, Sylow subgroups . . . . . . . . . . . . . . . . . 156
8.5 Homomorphisms . . . . . . . . . . . . . . . . . . . . . . . . 158
8.6 Primitivity and block systems . . . . . . . . . . . . . . . . . . 159
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
8.7 Self-complementary graphs . . . . . . . . . . . . . . . . . . . 161
8.8 Pseudo-similar vertices . . . . . . . . . . . . . . . . . . . . . 163
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.9 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

9 Alternating Paths and Matchings 169


9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
9.2 The Hungarian algorithm . . . . . . . . . . . . . . . . . . . . 173
9.2.1 Complexity . . . . . . . . . . . . . . . . . . . . . . . 176
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
9.3 Edmonds’ algorithm, blossoms . . . . . . . . . . . . . . . . . 177
9.3.1 Complexity . . . . . . . . . . . . . . . . . . . . . . . 182
9.4 Perfect matchings and 1-factorizations . . . . . . . . . . . . . 182
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
9.5 The subgraph problem . . . . . . . . . . . . . . . . . . . . . 185
9.6 Coverings in bipartite graphs . . . . . . . . . . . . . . . . . . 187
9.7 Tutte’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . 188
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
9.8 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
xii Contents

10 Network Flows 193


10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
10.2 The Ford-Fulkerson algorithm . . . . . . . . . . . . . . . . . 197
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
10.3 Matchings and flows . . . . . . . . . . . . . . . . . . . . . . 206
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
10.4 Menger’s theorems . . . . . . . . . . . . . . . . . . . . . . . 208
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.5 Disjoint paths and separating sets . . . . . . . . . . . . . . . . 210
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
10.6 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

11 Hamilton Cycles 217


11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
11.2 The crossover algorithm . . . . . . . . . . . . . . . . . . . . . 220
11.2.1 Complexity . . . . . . . . . . . . . . . . . . . . . . . 223
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
11.3 The Hamilton closure . . . . . . . . . . . . . . . . . . . . . . 226
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
11.4 The extended multi-path algorithm . . . . . . . . . . . . . . . 229
11.4.1 Data structures for the segments . . . . . . . . . . . . 232
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
11.5 Decision problems, NP-completeness . . . . . . . . . . . . . 233
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
11.6 The traveling salesman problem . . . . . . . . . . . . . . . . 242
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
11.7 The ∆TSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
11.8 Christofides’ algorithm . . . . . . . . . . . . . . . . . . . . . 246
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
11.9 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

12 Digraphs 251
12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
12.2 Activity graphs, critical paths . . . . . . . . . . . . . . . . . . 251
12.3 Topological order . . . . . . . . . . . . . . . . . . . . . . . . 253
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
12.4 Strong components . . . . . . . . . . . . . . . . . . . . . . . 256
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
12.4.1 An application to fabrics . . . . . . . . . . . . . . . . 262
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
12.5 Tournaments . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
12.5.1 Modules . . . . . . . . . . . . . . . . . . . . . . . . . 265
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
12.6 2-Satisfiability . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Contents xiii

12.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

13 Graph Colorings 271


13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
13.1.1 Intersecting lines in the plane . . . . . . . . . . . . . . 273
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
13.2 Cliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
13.3 Mycielski’s construction . . . . . . . . . . . . . . . . . . . . 278
13.4 Critical graphs . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
13.5 Chromatic polynomials . . . . . . . . . . . . . . . . . . . . . 281
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13.6 Edge colorings . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
13.7 Graph homomorphisms . . . . . . . . . . . . . . . . . . . . . 291
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
13.8 NP-completeness . . . . . . . . . . . . . . . . . . . . . . . . 297
13.9 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

14 Planar Graphs 305


14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
14.2 Jordan curves . . . . . . . . . . . . . . . . . . . . . . . . . . 306
14.3 Graph minors, subdivisions . . . . . . . . . . . . . . . . . . . 307
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
14.4 Euler’s formula . . . . . . . . . . . . . . . . . . . . . . . . . 311
14.5 Rotation systems . . . . . . . . . . . . . . . . . . . . . . . . 313
14.6 Dual graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
14.7 Platonic solids, polyhedra . . . . . . . . . . . . . . . . . . . . 319
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
14.8 Triangulations . . . . . . . . . . . . . . . . . . . . . . . . . . 321
14.9 The sphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
14.10 Whitney’s theorem . . . . . . . . . . . . . . . . . . . . . . . 325
14.11 Medial digraphs . . . . . . . . . . . . . . . . . . . . . . . . . 329
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
14.12 The 4-color problem . . . . . . . . . . . . . . . . . . . . . . 332
14.13 Nowhere-zero flows . . . . . . . . . . . . . . . . . . . . . . 335
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
14.14 Straight-line drawings . . . . . . . . . . . . . . . . . . . . . 337
14.15 Coordinate averaging . . . . . . . . . . . . . . . . . . . . . . 340
14.16 Kuratowski’s theorem . . . . . . . . . . . . . . . . . . . . . 342
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
14.17 The Hopcroft-Tarjan algorithm . . . . . . . . . . . . . . . . . 346
14.17.1 Bundles . . . . . . . . . . . . . . . . . . . . . . . . . 349
14.17.2 Switching bundles . . . . . . . . . . . . . . . . . . . . 350
14.17.3 The general Hopcroft-Tarjan algorithm . . . . . . . . . 353
xiv Contents

14.18 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

15 Graphs and Surfaces 359


15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
15.2 Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
15.2.1 Handles and crosscaps . . . . . . . . . . . . . . . . . 367
15.2.2 The Euler characteristic and genus of a surface . . . . 368
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
15.3 Isometries of surfaces . . . . . . . . . . . . . . . . . . . . . . 372
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
15.4 Graph embeddings, obstructions . . . . . . . . . . . . . . . . 376
15.5 Graphs on the torus . . . . . . . . . . . . . . . . . . . . . . . 377
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
15.5.1 Platonic maps on the torus . . . . . . . . . . . . . . . 387
15.5.2 Drawing torus maps, triangulations . . . . . . . . . . . 389
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
15.6 Coordinate averaging . . . . . . . . . . . . . . . . . . . . . . 394
15.7 Graphs on the projective plane . . . . . . . . . . . . . . . . . 395
15.7.1 The facewidth . . . . . . . . . . . . . . . . . . . . . . 402
15.7.2 Double covers . . . . . . . . . . . . . . . . . . . . . . 405
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
15.8 Embedding algorithms . . . . . . . . . . . . . . . . . . . . . 412
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
15.9 Heawood’s map coloring theorem . . . . . . . . . . . . . . . 421
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
15.10 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

16 The Klein Bottle and the Double Torus 425


16.1 The Klein bottle . . . . . . . . . . . . . . . . . . . . . . . . . 425
16.1.1 Rotation systems . . . . . . . . . . . . . . . . . . . . 426
16.1.2 The double cover . . . . . . . . . . . . . . . . . . . . 435
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
16.2 The double torus . . . . . . . . . . . . . . . . . . . . . . . . . 437
16.2.1 Isometries of the hyperbolic plane . . . . . . . . . . . 440
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
16.2.2 The double torus as an octagon . . . . . . . . . . . . . 441
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
16.3 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448

17 Linear Programming 451


17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
17.1.1 A simple example . . . . . . . . . . . . . . . . . . . . 451
17.1.2 Simple graphical example . . . . . . . . . . . . . . . 452
17.1.3 Slack and surplus variables . . . . . . . . . . . . . . . 455
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
17.2 The simplex algorithm . . . . . . . . . . . . . . . . . . . . . 458
Contents xv

17.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . 458


17.2.2 Some notation . . . . . . . . . . . . . . . . . . . . . . 458
17.2.3 Phase 0: finding a basis solution . . . . . . . . . . . . 459
17.2.4 Obtaining a basis feasible solution . . . . . . . . . . . 460
17.2.5 The tableau . . . . . . . . . . . . . . . . . . . . . . . 461
17.2.6 Phase 2: improving a basis feasible solution . . . . . . 462
17.2.7 Unbounded solutions . . . . . . . . . . . . . . . . . . 466
17.2.8 Conditions for optimality . . . . . . . . . . . . . . . . 467
17.2.9 Phase 1: initial basis feasible solution . . . . . . . . . 469
17.2.10 An example . . . . . . . . . . . . . . . . . . . . . . . 472
17.3 Cycling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
17.4 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476

18 The Primal-Dual Algorithm 479


18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
18.2 Alternate form of the primal and its dual . . . . . . . . . . . . 484
18.3 Geometric interpretation . . . . . . . . . . . . . . . . . . . . 485
18.3.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . 486
18.4 Complementary slackness . . . . . . . . . . . . . . . . . . . . 490
18.5 The dual of the shortest-path problem . . . . . . . . . . . . . 491
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
18.6 The primal-dual algorithm . . . . . . . . . . . . . . . . . . . 494
18.6.1 Initial feasible solution . . . . . . . . . . . . . . . . . 498
18.6.2 The shortest-path problem . . . . . . . . . . . . . . . 500
18.6.3 Maximum flow . . . . . . . . . . . . . . . . . . . . . 503
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
18.7 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

19 Discrete Linear Programming 507


19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
19.2 Backtracking . . . . . . . . . . . . . . . . . . . . . . . . . . 508
19.3 Branch and bound . . . . . . . . . . . . . . . . . . . . . . . . 511
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
19.4 Totally unimodular matrices . . . . . . . . . . . . . . . . . . 523
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
19.5 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525

Bibliography 527

Index 539
Preface

Our objective in writing this book is to present the theory of graphs from an al-
gorithmic viewpoint. We present the graph theory in a rigorous, but informal style
and cover most of the main areas of graph theory. The ideas of surface topology are
presented from an intuitive point of view. We have also included a discussion on lin-
ear programming that emphasizes problems in graph theory. The text is suitable for
students in computer science or mathematics programs.
Graph theory is a rich source of problems and techniques for programming and
data structure development, as well as for the theory of computing, including NP-
completeness and polynomial reduction.
This book could be used a textbook for a third or fourth year course on graph
algorithms which contains a programming content, or for a more advanced course
at the fourth year or graduate level. It could be used in a course in which the pro-
gramming language is any major programming language (e.g., C, C++, Java). The
algorithms are presented in a generic style and are not dependent on any particular
programming language.
The text could also be used for a sequence of courses like “Graph Algorithms I”
and “Graph Algorithms II”. The courses offered would depend on the selection of
chapters included. A typical course will begin with Chapters 1, 2, 4, and 5. At this
point, a number of options are available.
A possible first course would consist of Chapters 1, 2, 4, 5, 7, 10, 11, 12, 13,
and 14, and a first course stressing optimization would consist of Chapters 1, 2, 3,
5, 10, 11, 12, 17, 18, and 19. Experience indicates that the students consider these
substantial courses. One or two chapters could be omitted for a lighter course.
We would like to thank the many people who provided encouragement while
we wrote this book, pointed out typos and errors, and gave useful suggestions. In
particular, we would like to convey our thanks to Ben Li and John van Rees of the
University of Manitoba for proofreading some chapters.

William Kocay
Donald L. Kreher
August, 2004

xvii
xviii Graphs, Algorithms, and Optimization

Preface to the second edition


The second edition of Graphs, Algorithms, and Optimization contains three com-
pletely new chapters. New material has also been added to previously existing chap-
ters. There is a new chapter on subgraph counting containing identities connecting
various kinds of subgraphs in a graph. The graph reconstruction problem is intro-
duced in this chapter. There is a chapter on graphs and symmetries, where the relation
of permutation groups to graphs is considered. This chapter contains the basic theory
of permutation groups. In particular, groups are used to construct symmetric graphs,
and to understand self-complementary graphs and graphs with pseudo-similar ver-
tices. A chapter on graph embeddings on the Klein bottle and double torus has also
been added.
Some of the new material added to previously existing chapters is :
• A proof of the Erdös-Gallai theorem has been included;
• Sections on isometries of surfaces have been added, according to their applica-
tion to graph embeddings in the plane and torus;
• The treatment of the double cover of graphs on the projective plane has been
expanded;
• Automorphism groups of graph embeddings have been included;
• The proof of the NP-completeness of 3-coloring a graph has been corrected;
• The algorithm using Vizing’s technique for edge-coloring a graph has been im-
proved;
• A section on modules in graphs and digraphs has been added;
• Edmonds’ matching algorithm using blossoms now has a section;
• Nowhere-zero flows are introduced;
• The use of coordinate averaging to produce nice drawings of graphs on surfaces
is introduced;
• The basics of graph homomorphisms are now presented.
Also all the diagrams in the text have been redrawn and enhanced. We convey our
thanks and gratitude to Andrei Gagarin for his help in the proof-reading of this second
edition.

William Kocay
Donald L. Kreher
August, 2016
Preface xix

William Kocay obtained his Ph.D. in Combinatorics and Optimization from the
University of Waterloo in 1979. He is currently a member of the Computer Sci-
ence Department, and an adjunct member of the Mathematics Department, at the
University of Manitoba, and a member of St. Paul’s College, a college affiliated
with the University of Manitoba. He has published numerous research papers,
mostly in graph theory and algorithms for graphs. He was managing editor of the
mathematics journal Ars Combinatoria from 1988 to 1997. He is currently on
the editorial board of that journal. He has had extensive experience developing
software for graph theory and related mathematical structures.
Donald L. Kreher obtained his Ph.D. from the University of Nebraska in 1984.
He has held academic positions at Rochester Institute of Technology and the
University of Wyoming. He is currently a University Professor of Mathematical
Sciences at Michigan Technological University, where he teaches and conducts
research in combinatorics and combinatorial algorithms. He has published nu-
merous research papers and is a co-author of the internationally acclaimed text
“Combinatorial Algorithms: Generation Enumeration and Search”, CRC Press,
1999. He serves on the editorial boards of two journals.

Professor Kreher is the sole recipient of the 1995 Marshall Hall Medal, awarded
by the Institute of Combinatorics and its Applications.
1
Graphs and Their Complements

1.1 Introduction
The diagram in Figure 1.1 illustrates a graph. It is called the graph of the cube. The
edges of the geometric cube correspond to the line segments connecting the nodes in
the graph, and the nodes correspond to the corners of the cube where the edges meet.
They are the vertices of the cube.

2 6
3 7

0 4
1 5

FIGURE 1.1
The graph of a cube

This diagram is drawn so as to resemble a cube, but if we were to rearrange it,


as in Figure 1.2, it would still be the graph of the cube, although it would no longer
look like a cube. Thus, a graph is a graphical representation of a relation in which
edges connect pairs of vertices.

5 7
1 3

0 2
4 6

FIGURE 1.2
The graph of the cube

1
2 Graphs, Algorithms, and Optimization

DEFINITION 1.1: A simple graph G consists of a vertex set V (G) and an edge
set E(G), where each edge is a pair {u, v} of vertices u, v ∈ V (G).
 
We denote the set of all pairs of a set V by V2 . Then E(G) ⊆ V (G) 2 . In the
example of the cube, V (G) = {0, 1, 2, 3, 4, 5, 6, 7}, and E(G) = {01, 13, 23, 02, 45,
57, 67, 46, 15, 37, 26, 04}, where we have used the shorthand notation uv to stand
for the pair {u, v}. If u, v ∈ V (G), then u −→ v means that u is joined to v by
an edge. We say that u and v are adjacent. We use this notation to remind us of the
linked list data structure that we will use to store a graph in the computer. Similarly,
u 6−→ v means that u is not joined to v. We can also express these relations by
writing uv ∈ E(G) or uv 6∈ E(G), respectively. Note that in a simple graph if
u −→ v, then v −→ u. If u is adjacent to each of u1 , u2 , . . . , uk , then we write
u −→ {u1 , u2 , . . . , uk }.
These graphs are called simple graphs because each pair u, v of vertices is joined
by at most one edge. Sometimes we need to allow several edges to join the same pair
of vertices. Such a graph is also called a multigraph. An edge can then no longer be
defined as a pair of vertices, (or the multiple edges would not be distinct), but to each
edge there still corresponds a pair {u, v}. We can express this formally by saying that
a graph G consists of a vertex set V (G), an edge set E(G), and a correspondence

ψ : E(G) → V (G) 2 . Given an edge e ∈ E(G), ψ(e) is a pair {u, v} which are
the endpoints of e. Different edges can then have the same endpoints. We shall use
simple graphs most of the time, which is why we prefer the simpler definition, but
many of the theorems and techniques will apply to multigraphs as well.
This definition can be further extended to graphs with loops as well. A loop is an
edge in which both endpoints are equal. We can include  this in the general definition
of a graph by making the mapping ψ : E(G) → V (G) 2 ∪ V (G). An edge e ∈ E(G)
for which ψ(e) = u ∈ V (G) defines a loop. Figure 1.3(a) shows a graph with
multiple edges and loops. However, we shall use simple graphs most of the time, so
that an edge will be considered to be a pair of vertices.

(a) (b)

FIGURE 1.3
A multigraph (a) and a digraph (b)
Graphs and Their Complements 3

A directed graph or digraph has edges which are ordered pairs (u, v) rather than
unordered pairs {u, v}. In this case an edge is also called an arc. The direction of an
edge is indicated by an arrow in diagrams, as in Figure 1.3(b).
The number of vertices of a graph G is denoted |G|. It is called the order of G.

The number of edges is ε(G). If G is simple, then obviously ε(G) ≤ |G| 2 , because

E(G) ⊆ V (G) 2 . We shall often use node or point as synonyms for vertex.
Many graphs havespecial names. The complete graph Kn is a simple graph with
|Kn | = n and ε = n2 . The empty graph K n is a graph with |K n | = n and ε = 0.
K n is the complement of Kn .

FIGURE 1.4
The complete graph K5

DEFINITION 1.2: Let G be a simple


 graph. The complement of G is G, where
V (G) = V (G) and E(G) = V (G)
2 \ E(G).
E(G) consists of all those pairs uv which are not edges of G. Thus, uv ∈ E(G)
if and only if uv 6∈ E(G). Figure 1.5 shows a graph and its complement.

1 2 1 2

G= G=

4 3 4 3

FIGURE 1.5
A graph and its complement

Figure 1.6 shows another graph and its complement. Notice that in this case,
when G is redrawn, it looks identical to G.
In a certain sense, this G and G are the same graph. They are not equal, because
E(G) 6= E(G), but it is clear that they have the same structure. If two graphs have
the same structure, then they can only differ in the names of the vertices. Therefore,
we can rename the vertices of one to make it exactly equal to the other graph. In the
4 Graphs, Algorithms, and Optimization

1 1 1

5 2 5 2 4 3
−→

4 3 4 3 2 5
G G G

FIGURE 1.6
Another graph and its complement

Figure 1.6 example, we can rename the vertices of G by the mapping θ given by

k: 1 2 3 4 5
,
θ(k) : 1 3 5 2 4

then θ(G) would equal G. This kind of equivalence of graphs is known as isomor-
phism. Observe that a one-to-one mapping θ of the vertices of a graph G can be
extended to a mapping of the edges of G by defining θ({u, v}) = {θ(u), θ(v)}.
DEFINITION 1.3: Let G and H be simple graphs. G and H are isomorphic if
there is a one-to-one correspondence θ : V (G) → V (H) such that θ(E(G)) =
E(H), where θ(E(G)) = {θ(uv) : uv ∈ E(G)}.
We write G ∼ = H to denote isomorphism. If G ∼ = H, then uv ∈ E(G) if and
only if θ(uv) ∈ E(H). One way to determine whether G ∼ = H is to try and redraw
G so as to make it look identical to H. We can then read off the mapping θ from the
diagram. However, this is limited to small graphs. For example, the two graphs G and
H shown in Figure 1.7 are isomorphic, because the drawing of G can be transformed
into H by first moving vertex 2 to the bottom of the diagram, and then moving vertex
5 to the top. Comparing the two diagrams then gives the mapping

k: 1 2 3 4 5 6
θ(k) : 6 4 2 5 1 3

as an isomorphism.
It is usually more difficult to determine when two graphs G and H are not iso-
morphic than to find an isomorphism when they are isomorphic. One way is to find
a portion of G that cannot be part of H. For example, the graph H of Figure 1.7 is
not isomorphic to the graph of the prism, which is illustrated in Figure 1.8, because
the prism contains a triangle, whereas H has no triangle. A subgraph of a graph G is
a graph K such that V (K) ⊆ V (G) and E(K) ⊆ E(G). If θ : G → H is a possible
isomorphism, then θ(K) will be a subgraph of H which is isomorphic to K.
A subgraph K is an induced subgraph if for every u, v ∈ V (K) ⊆ V (G), uv ∈
E(K) if and only if uv ∈ E(G). That is, we choose a subset U ⊆ V (G) and all
Graphs and Their Complements 5

1
1 2 3
6 2

G= H=

5 3
4 5 6
4

FIGURE 1.7
Two isomorphic graphs

edges uv with both endpoints in U . We can also form an edge subgraph or partial
subgraph by choosing a subset of E(G) as the edges of a subgraph K. Then V (K)
will be all vertices which are an endpoint of some edge of K.

FIGURE 1.8
The graph of the prism

The degree of a vertex u ∈ V (G) is D EG(u), the number of edges which con-
tain u. If k = D EG(u) and u −→ {u1 , u2 , . . . , uk }, then θ(u) −→ {θ(u1 ), θ(u2 ),
. . . , θ(uk )}, so that D EG(u) = D EG(θ(u)). Therefore a necessary condition for G
and H to be isomorphic is that they have the same set of degrees. The examples of
Figures 1.7 and 1.8 show that this is not a sufficient condition.
In Figure 1.6, we saw an example of a graph G that is isomorphic to its comple-
ment. There are many such graphs.
DEFINITION 1.4: A simple graph G is self-complementary if G ∼
= G.

Lemma 1.1. If G is a self-complementary graph, then |G| ≡ 0 or 1 (mod 4).



Proof. If G ∼
= G, then ε(G) = ε(G). But E(G) = V (G) 2 \ E(G), so that ε(G) =
|G|
 1 |G|

2 − ε(G) = ε(G), so ε(G) = 2 2 = |G|(|G| − 1)/4. Now |G| and |G| − 1
6 Graphs, Algorithms, and Optimization

TABLE 1.1
Graphs up to 10 vertices
n No. graphs
1 1
2 2
3 4
4 11
5 34
6 156
7 1,044
8 12,346
9 247,688
10 12,005,188

are consecutive integers, so that one of them is odd. Therefore |G| ≡ 0 (mod 4) or
|G| ≡ 1 (mod 4).
So possible orders for self-complementary graphs are 4, 5, 8, 9, 12, 13, . . ., 4k,
4k + 1, etc.

Exercises
1.1.1 The four graphs on three vertices in Figure 1.9 have 0, 1, 2, and 3 edges,
respectively. Every graph on three vertices is isomorphic to one of these
four. Thus, there are exactly four different isomorphism types of graphs
on three vertices.

G1 G2 G3 G4

FIGURE 1.9
Four graphs on three vertices

Find all the different isomorphism types of graph on 4 vertices (there are
11 of them). Hint: Adding an edge to a graph with ε = m, gives a graph
with ε = m + 1. Every graph with ε = m + 1 can be obtained in this
way. Table 1.1 shows the number of isomorphism types of graphs up to
10 vertices.
1.1.2 Determine whether the two graphs shown in Figure 1.10 are isomorphic
to each other or not. If they are isomorphic, find an explicit isomorphism.
Graphs and Their Complements 7

FIGURE 1.10
Two graphs on eight vertices

1.1.3 Determine whether the three graphs shown in Figure 1.11 are isomorphic
to each other or not. If they are isomorphic, find explicit isomorphisms.

FIGURE 1.11
Three graphs on 10 vertices

1.1.4 Find a self-complementary graph on four vertices.


1.1.5 Figure 1.6 illustrates a self-complementary graph, the pentagon, with five
vertices. Find another self-complementary graph on five vertices.
1.1.6 We have seen that the pentagon is a self-complementary graph. Let G
be the pentagon shown in Figure 1.6, with V (G) = {u1 , u2 , u3 , u4 , u5 }.
Notice that θ = (u1 )(u2 , u3 , u5 , u4 ) is a permutation which maps G to
G; that is, θ(G) = G, and θ(G) = G. θ is called a complementing permu-
tation. Because u2 u3 ∈ E(G), it follows that θ(u2 u3 ) = u3 u5 ∈ E(G).
Consequently, θ(u3 u5 ) = u5 u4 ∈ E(G) again. Applying θ twice more
gives θ(u5 u4 ) = u4 u2 ∈ E(G) and θ(u4 u2 ) = u2 u3 , which is where
we started. Thus, if we choose any edge ui uj and successively apply θ
to it, we alternately get edges of G and G. It follows that the number
of edges in the sequence so-obtained must be even. Use the permutation
(1,2,3,4)(5,6,7,8) to construct a self-complementary graph on eight ver-
tices.
1.1.7 Can the permutation (1,2,3,4,5)(6,7,8) be used as a complementing per-
mutation? Can (1,2,3,4,5,6)(7,8) be? Prove that the only requirement is
that every sequence of edges obtained by successively applying θ be of
even length.
8 Graphs, Algorithms, and Optimization

1.1.8 If θ is any permutation of {1, 2, . . . , n}, then it depends only on the cycle
structure of θ whether it can be used as a complementing permutation.
Discover what condition this cycle structure must satisfy, and prove it
both necessary and sufficient for θ to be a complementing permutation.

1.2 Degree sequences


Theorem 1.2. For any simple graph G we have
X
D EG(u) = 2ε(G).
u∈V (G)

Proof. An edge uv has two endpoints. Therefore each edge will be counted twice in
the summation, once for u and once for v.
We use δ(G) to denote the minimum degree of G; that is, δ(G) = MIN{D EG(u) |
u ∈ V (G)}. ∆(G) denotes the maximum degree of G. By Theorem 1.2, the average
degree equals 2ε/|G|, so that δ ≤ 2ε/|G| ≤ ∆.
Corollary 1.3. The number of vertices of odd degree is even.
Proof. Divide V (G) into VP odd = {u | D EG (u) P is odd }, and Veven = {u |
deg(u)
P is even }. Then 2ε = u∈Vodd D EG (u) + u∈Veven D EG (u). Clearly 2ε and
P
u∈Veven D EG (u) are both even. Therefore, so is u∈Vodd D EG(u), which means
that |Vodd | is even.

DEFINITION 1.5: A graph G is a regular graph if all vertices have the same
degree. G is k-regular if it is regular, of degree k.
For example, the graph of the cube (Figure 1.1) is 3-regular.
Lemma 1.4. If G is simple and |G| ≥ 2, then there are always two vertices of the
same degree.
Proof. In a simple graph, the maximum degree ∆ ≤ |G| − 1. If all degrees were
different, then they would be 0, 1, 2, . . . , |G| − 1. But degree 0 and degree |G| − 1
are mutually exclusive. Therefore there must be two vertices of the same degree.
Let V (G) = {u1 , u2 , . . . , un }. The degree sequence of G is

DEG(G) = (D EG (u1 ), D EG(u2 ), . . . , D EG(un ))

where the vertices are ordered so that

D EG(u1 ) ≥ D EG(u2 ) ≥ · · · ≥ D EG(un ).


Graphs and Their Complements 9

Sometimes it is useful to construct a graph with a given degree sequence. For ex-
ample, can there be a simple graph with five vertices whose degrees are (4, 3, 3, 2, 1)?
Because there are three vertices of odd degree, Corollary 1.3 tells us that there is no
such graph. We say that a sequence
D = (d1 , d2 , . . . , dn ),
is graphic if
d1 ≥ d2 ≥ · · · ≥ dn ,
and there is a simple graph G with DEG(G) = D. So (2, 2, 2, 1) and (4, 3, 3, 2, 1)
are not graphic, whereas (2, 2, 1, 1), (4, 3, 2, 2, 1), and (2, 2, 2, 2, 2, 2, 2) clearly are.

Problem 1.1: Graphic


Instance: a sequence D = (d1 , d2 , . . . , dn ).
Question: is D graphic?
Find: a graph G with DEG(G) = D, if D is graphic.

For example, (7, 6, 5, 4, 3, 3, 2) is not graphic; for any graph G with this degree
sequence has ∆(G) = |G| = 7, which is not possible in a simple graph. Similarly,
(6, 6, 5, 4, 3, 3, 1) is not graphic; here we have ∆(G) = 6, |G| = 7 and δ(G) = 1.
But because two vertices have degree |G| − 1 = 6, it is not possible to have a vertex
of degree one in a simple graph with this degree sequence.
When is a sequence graphic? We want a construction which will find a graph G
with DEG(G) = D, if the sequence D is graphic.
One way is to join up vertices arbitrarily. This does not always work, because
we can get stuck, even if the sequence is graphic. The following algorithm always
produces a graph G with DEG(G) = D, if D is graphic.
procedure G RAPH G EN(D)
Create vertices u1 , u2 , . . . , un
comment: upon completion, ui will have degree D[i]
graphic ← false “assume not graphic”
i←1
while D[i] > 0

 k←D[i]



 if there are at least k vertices with D EG > 0

 

  join ui to the k vertices of largest degree

 
 decrease each of these degrees by 1
do then D[i] ← 0

 


  comment: vertex ui is now completely joined




 “ui cannot be joined”
 else exit

i←i+1
graphic ← true
10 Graphs, Algorithms, and Optimization

This uses a reduction. For example, given the sequence

D = (3, 3, 3, 3, 3, 3),

the first vertex will be joined to the three vertices of largest degree, which will then
reduce the sequence to (∗, 3, 3, 2, 2, 2), because the vertex marked by an asterisk is
now completely joined, and three others have had their degree reduced by 1. At the
next stage, the first remaining vertex will be joined to the three vertices of largest
degree, giving a new sequence (∗, ∗, 2, 2, 1, 1). Two vertices are now completely
joined. At the next step, the first remaining vertex will be joined to two vertices,
leaving (∗, ∗, ∗, 1, 1, 0). The next step joins the two remaining vertices with degree
one, leaving a sequence (∗, ∗, ∗, ∗, 0, 0) of zeroes, which we know to be graphic.
In general, given the sequence

D = (d1 , d2 , . . . , dn ),

where
d1 ≥ d2 ≥ · · · ≥ dn ,
the vertex of degree d1 is joined to the d1 vertices of largest degree. This leaves the
numbers
d2 − 1, d3 − 1, . . . , dd1 +1 − 1, dd1 +2 , . . . , dn ,
in some order. If we rearrange them into descending order, we get the reduced se-
quence D′ . Write
D′ = (d′2 , d′3 . . . , d′n ),
where the first vertex u1 has been deleted. We now do the same calculation, using D′
in place of D. Eventually, after joining all the vertices according to their degree, we
either get a graph G with Deg(G) = D or else at some stage, it is impossible to join
some vertex ui .
An excellent data structure for representing the graph G for this problem is to
have an adjacency list for each vertex v ∈ V (G). The adjacency list for a vertex
v ∈ V (G) is a linked list of the vertices adjacent to v. Thus it is a data structure in
which the vertices adjacent to v are arranged in a linear order. A node x in a linked
list has two fields: data hxi, and next hxi.

x: u •

datahxi nexthxi

Given a node x in the list, data hxi is the data associated with x and next hxi points to
the successor of x in the list or next hxi = NIL if x has no successor. We can insert
data u into the list pointed to by L with procedure L IST I NSERT(), and the first node
on list L can be removed with procedure L IST R EMOVE F IRST().
Graphs and Their Complements 11
procedure L IST I NSERT(pseudocode)
L, ux ← N EW N ODE()
data hxi ← u
next hxi ← L
L←x

procedure L IST R EMOVE F IRST(L)


x←L
L ← next hxi
F REE N ODE(x)

We use an array AdjList [·] of linked lists to store the graph. For each vertex v ∈
V (G), AdjList [v] points to the head of the adjacency lists for v. This data structure
is illustrated in Figure 1.12.

3 4 AdjList [1] 2 • 4 • ×

AdjList [2] 1 • 3 • 4 • ×

AdjList [3] 2 • 4 • ×
2 1 AdjList [4] 1 • 2 • 3 • ×

FIGURE 1.12
Adjacency lists of a graph

We can use another array of linked lists, Pts [k], being a linked list of the vertices
ui whose degree-to-be di = k. With this data structure, Algorithm 1.2.1 can be
written as follows:
12 Graphs, Algorithms, and Optimization

Algorithm 1.2.1: G RAPH G EN(D)



Assume D is not graphic.
comment:
Create and initialize the linked lists Pts [k].
graphic ← false
for k ← 0 to n − 1 do Pts [k] ← NIL
for k ← 1 to n do L IST I NSERT(Pts [D[k]], k)
comment: Begin with vertex of largest degree.
for k ← n − 1 downto 0
do while Pts [k] 6= NIL

 comment: These points are to have degree k.



 x ← Pts [k]



 u ← data hxi



L IST R EMOVE

  F IRST(Pts [k])

 Join u to the next k vertices v of largest degree.

 comment:

 If this is not possible, then D is not graphic so exit.



 i ← k



 ← 1 to k
for j 

 

  i←i−1

 
 while Pts [i] = NIL do

 
 if i = 0 exit

 


 
 x = Pts [i]

 


 v = data hxi
do do

 L IST R EMOVE F IRST(Pts [i])

 


 
 L IST I NSERT(AdjList [u], v)

 


 
 L IST I NSERT(AdjList [v], u)

 

 L IST I NSERT(TempList [i], v)




 For each such v joined to u if v is on list Pts [j],

 comment:

 then transfer v to Pts [j − 1]



 for j ← k downto 1

 

  while TempList [j] 6= NIL

 
 

 
  x = TempList [j]

 


 do v = data hxi

  do

 
  L IST R EMOVE F IRST(TempList [j])

 
 


 L IST I NSERT(Pts [j − 1], v)

comment: u is now completely joined. Choose the next point.
comment: Now every vertex has been successfully joined.
graphic ← true

This program is illustrated in Figure 1.13 for the sequence D = (4, 4, 2, 2, 2, 2),
where n = 6. The diagram shows the linked lists before vertex 1 is joined to vertices
2, 3, 4, and 5, and the new configuration after joining. Care must be used in transfer-
ring the vertices v from Pts [j] to Pts [j − 1], because we do not want to join u to v
more than once. The purpose of the list Pts [0] is to collect vertices which have been
transferred from Pts [1] after having been joined to u. The degrees d1 , d2 , . . . , dn
Graphs and Their Complements 13

D = (4, 4, 2, 2, 2, 2)
1
Pts [6] ×
5 2
Pts [5] ×

Pts [4] 1 • 2 • × 4 3
Pts [3] ×

Pts [2] 3 • 4 • 5 • 6 • ×

Pts [1] ×

Pts [0] ×
(a)

D = (∗, 3, 1, 1, 1, 2)
1
Pts [6] ×
5 2
Pts [5] ×

Pts [4] × 4 3
Pts [3] 2 • ×

Pts [2] 6 • ×

Pts [1] 3 • 4 • 5 • ×

Pts [0] ×
(b)

FIGURE 1.13
The linked lists Pts [k]. (a) Before 1 is joined to 2, 3, 4, and 5. (b) After 1 is joined to
2, 3, 4, and 5.
14 Graphs, Algorithms, and Optimization

need not necessarily be in descending order for the program to work, because the
points are placed in the lists Pts [k] according to their degree, thereby sorting them
into buckets. Upon completion of the algorithm vertex k will have degree dk . How-
ever, when this algorithm is done by hand, it is much more convenient to begin with
a sorted list of degrees; for example, D = (4, 3, 3, 3, 2, 2, 2, 2, 1), where n = 9. We
begin with vertex u1 , which is to have degree four. It will be joined to the vertices
u2 , u3 , and u4 , all of degree three, and to one of u5 , u6 , u7 , and u8 , which have de-
gree two. In order to keep the list of degrees sorted, we choose u8 . We then have
u1 −→ {u2 , u3 , u4 , u8 }, and D is reduced to (∗, 2, 2, 2, 2, 2, 2, 1, 1). We then choose
u2 and join it to u6 and u7 , thereby further reducing D to (∗, ∗, 2, 2, 2, 2, 1, 1, 1, 1).
Continuing in this way, we obtain a graph G.
In general, when constructing G by hand, when uk is to be joined to one of ui
and uj , where di = dj and i < j, then join uk to uj before ui , in order to keep D
sorted in descending order.
We still need to prove that Algorithm 1.2.1 works. It accepts a possible degree
sequence
D = (d1 , d2 , . . . dn ),
and joins u1 to the d1 vertices of largest remaining degree. It then reduces D to new
sequence
D′ = (d′2 , d′3 , . . . d′n ).

1.2.1 Havel-Hakimi theorem


Theorem 1.5. (Havel-Hakimi theorem) D is graphic if and only if D′ is graphic.
Proof. Suppose D′ is graphic. Then there is a graph G′ with degree sequence D′ ,
where V (G′ ) = {u2 , u3 , . . . , un } with D EG(ui ) = d′i . Furthermore

D′ = (d′2 , d′3 , . . . , d′n )

consists of the degrees

{d2 − 1, d3 − 1, . . . , dd1 +1 − 1, dd1 +2 , . . . , dn }

arranged in descending order. Create a new vertex u1 and join it to vertices of degree

d2 − 1, d3 − 1, . . . , dd1 +1 − 1.

Then D EG(u1 ) = d1 . Call the new graph G. Clearly the degree sequence of G is

D = (d1 , d2 , . . . , dn ).

Therefore D is graphic.
Now suppose D is graphic. Then there is a graph G with degree sequence

D = (d1 , d2 , . . . , dn ),

where V (G) = {u1 , u2 , . . . , un }, with D EG(ui ) = di . If u1 is adjacent to vertices


Graphs and Their Complements 15
u1

u2 u3 u4 uk−1 uk x
y

FIGURE 1.14
Vertices adjacent to u1

of degree d2 , d3 , . . . , dd1 +1 , then G′ = G − u1 has degree sequence D′ , in which


case D′ is graphic.
Otherwise, u1 is not adjacent to vertices of degree d2 , d3 , . . . , dd1 +1 . Let uk
(where k ≥ 2) be the first vertex such that u1 is not joined to uk , but is joined to
u2 , u3 , . . . , uk−1 . (Maybe k = 2.)
Now D EG(u1 ) = d1 ≥ k, so u1 is joined to some vertex x 6= u2 , u3 , . . . uk−1 . uk
is the vertex of next largest degree, so D EG(uk ) ≥ D EG(x). Now x is joined to u1 ,
while uk is not. Therefore, there is some vertex y such that uk −→ y but x 6−→ y.
Set G ← G + xy + u1 uk − u1 x − uk y.
The degree sequence of G has not changed, and now u1 −→ {u2 , u3 , . . . , uk }.
Repeat until u1 −→ {u2 , u3 , . . . , ud1 +1 }. Then G′ = G − u1 has degree sequence
D′ , so that D′ is graphic. (See Figure 1.14.)

Therefore we know the algorithm will terminate with the correct answer, because
it reduces D to D′ . So we have an algorithmic test to check whether D is graphic
and to generate a graph whenever one exists.

1.2.2 Erdös-Gallai theorem


There is another way of determining whether D is graphic, without constructing a
graph.
Theorem 1.6. (Erdös-Gallai theorem) Let D = (d1 , d2 , . . . , dn ), where d1 ≥
d2 ≥ · · · ≥ dn . Then D is graphic if and only if
Pn
1. i=1 di is even; and
Pk Pn
2. i=1 di ≤ k(k − 1) + i=k+1 MIN(k, di ), for k = 1, 2, . . . , n.
Pn
Proof. Suppose D is graphic. Then i=1 di = 2ε, which is even. Let V1 contain the
k vertices of largest degree, and let V2 = V (G) − V1 be the remaining vertices. See
Figure 1.15.
16 Graphs, Algorithms, and Optimization
ε2

ε1

V1 V2

FIGURE 1.15
The vertices V1 of largest degree and the remaining vertices v2

Suppose that there are ε1 edges within V1 and ε2 edges from V1 to V2 . Then
Pk
i=1 di = 2ε1 + ε2 , because each edge within V1 is counted twice in the sum, once
for each endpoint, but edges between V1 and V2 are counted once only. Now ε1 ≤
k
2 , because V1 can induce a complete subgraph at most. Each vertex v ∈ V2 can be
joined to at most k vertices in V1 , because |V1 | = k, but v can be joined to at most
D EG(v) vertices in V1 , P if D EG(v) < k. Therefore ε2 , the number P of edges between
V1 and V2 , is at most v∈V2 MIN (k, D EG(v)), which equals ni=k+1 MIN (k, di ).
Pk Pn
This now gives i=1 di = 2ε1 + ε2 ≤ k(k − 1) + i=k+1 MIN(k, di ).
Various proofs of the converse are available. Interesting proofs can be found
in the books by H ARARY [80] or B ERGE [14].PHere we outline a proof by
n
C HOUDUM [33]. The proof is by induction on S = i=1 di . If S = 2, it is clear that
the result is true. Without loss of generality, we can assume that dn ≥ 1. Let t be the
smallest integer such that dt > dt+1 , if there is one. Otherwise, if all di are equal,
we take t = n − 1.
Construct D′ = (d′1 , . . . , d′n ) from D as follows: if i 6= t and i 6= n, then d′i = di ;
if i = t or i = n, then d′i = di − 1. That is, we are looking for a graph with degree
sequence D in which vertex t is adjacent to vertex n. Then S ′ = S − 2. If we can
verify that D′ satisfies the conditions of the theorem, with corresponding graph G′ ,
we can then construct a graph G with degree sequence D.
Pk ′
Pk ′
PnConsider Sk = i=1 di and Sk = i=1 di . Let Tk = k(k − 1) +
′ ′ ′
i=k+1 MIN (di , k), and similarly for Tk . If k ≥ t, then Sk = Sk −1 ≤ Tk −1 ≤ Tk .
Thus the conditions of the theorem are satisfied when k ≥ t. If k < t there are
several cases to consider. Note that when k < t, d1 = d2 = . . . = dk , so that
Sk′ = Sk = kdk .
If k < t and dk < k, then Sk′ = kdk ≤ k(k − 1) ≤ Tk′ .
If k < t and dk = k, then Sk′ = kdk = k 2 = k(k − 1) + k. Now d′k+1 is
either k or k − 1. Therefore when i > k, MIN(d′i , k) = d′i . If d′k+1 = k, then
Sk′ = k(k−1)+d′k+1 ≤ Tk′ . Otherwise d′k+1 = k−1, and Sk′ = k(k−1)+d′k+1 +1.
If d′k+2 ≥ 1, we obtain Sk′ ≤ Tk′ . Otherwise n = k + 2 and t = n− 1, so that dn = 1,
giving S = (n − 2)2 + (n − 2) + 1, which must be even, so that n is odd. But then
all degrees are odd, which is impossible.
If k < t and dk > k and dn > k, then MIN(di , k) = MIN(d′i , k) = k when i > k.
Sk = kdk = Sk ≤ Tk = Tk′ .

If k < t and dk > k and dn ≤ k, let r be the first integer such that dr ≤ k.
Graphs and Their Complements 17

Then r > t and MIN (di , k) = di when i ≥ r, so that Sk′ = Sk = kdk ≤ Tk =


k(k − 1) + k(r − k − 1) + dr + . . . + dn = k(r − 2) + (dr + . . . + dn ). We have
Tk′ = Tk − 1.
Now Sk+1 = (k + 1)dk ≤ Tk+1 = (k + 1)k + (k + 1)(r − k − 2) + dr + . . . + dn .
Hence dk ≤ (r − 2) + (dr + . . . + dn )/(k + 1). Substituting this into the previous
k
expression gives kdk ≤ k(r − 2)+ k+1 (dr + . . .+ dn ) < Tk . Therefore Sk′ = kdk <
′ ′ ′
Tk . But Tk = Tk − 1, so that Sk ≤ Tk .
Thus, Sk′ ≤ Tk′ for all k. By induction we know that D′ is graphic. Let G′ be a
simple graph with degree sequence D′ . If vertices t and n are not adjacent in G′ , we
add the edge {t, n} to obtain a graph G with degree sequence D. If they are adjacent,
then choose a vertex m such that {t, m} 6∈ E(G′ ). Because d′m ≥ d′n , there is a
vertex r adjacent to m in G′ such that {r, n} 6∈ E(G′ ). Remove the edge {m, r} and
add the edges {t, m}, {r, n} to obtain a graph G with degree sequence D.

Conditions 1 and 2 of Theorem 1.6 are known as the Erdös-Gallai conditions.

Exercises
1.2.1 Prove Theorem 1.2 for arbitrary graphs. That is, prove
Theorem 1.7. For any graph G we have
X
Deg(u) + ℓ = 2ε(G).
u∈V (G)

where ℓ is the number of loops in G and D EG(u) is the number of


edges incident on u. What formula is obtained if loops count two toward
D EG(u)?
1.2.2 We know that a simple graph with n vertices has at least one pair of
vertices of equal degree, if n ≥ 2. Find all simple graphs with exactly
one pair of vertices with equal degrees. What are their degree sequences?
Hint: Begin with n = 2, 3, 4. Use a recursive construction. Can degree 0
or n − 1 occur twice?
1.2.3 Program the G RAPH G EN() algorithm. Input the sequence D =
(d1 , d2 , . . . , dn ) and then construct a graph with that degree sequence, or
else determine that the sequence is not graphic. Use the following input
data:
(a) 44444
(b) 333333
(c) 33333333
(d) 333333333
(e) 2222222222
(f) 76665521
18 Graphs, Algorithms, and Optimization

1.2.4 If G has degree sequence D = (d1 , d2 , . . . , dn ) , what is the degree se-


quence of G?
1.2.5 Let D = (d1 , d2 , . . . , dn ), where d1 ≥ d2 ≥ . . . ≥ dPn . Prove that there is
n
a multigraph
Pn with degree sequence D if and only if i=1 di is even, and
d1 ≤ i=2 di .

1.3 Analysis
Let us estimate the number of steps that Algorithm 1.2.1 performs. Consider the loop
structure
for k ← n downto 1
do while
 Pts [k] 6= NIL
do · · ·

The for-loop performs n iterations. For many of these iterations, the contents of
the while-loop will not be executed, because Pts [k] will be NIL. When the contents
of the loop are executed, vertex u of degree-to-be k will be joined to k vertices. This
means that k edges will be added to the adjacency lists of the graph G being con-
structed. This takes 2k steps, because an edge uv must be added to both GraphAdj [u]
and GraphAdj [v]. It also makes D EG(u) = k. When edge uv is added, v will be
transferred from Pts [j] to Pts [j − 1], requiring additional
P k steps. Once u has been
joined, it is removed from the list. Write ε = 21 i di , the number of edges of G
when D is graphic. Then, in all, the combination for-while-loop will perform exactly
2ε steps adding edges to the graph and a further ε steps transferring vertices to other
lists, plus n steps for the n iterations of the for-loop. This gives a total of 3ε + n steps
for the for-while-loop. The other work that the algorithm performs is to create and
initialize the lists Pts [·], which takes 2n steps altogether. So we can say that in total,
the algorithm performs 3ε + 3n steps.
Now it is obvious that each of these “steps” is composed of many other smaller
steps, for there are various comparisons and assignments in the algorithm which we
have not explicitly taken account of (they are subsumed into the steps we have ex-
plicitly counted). Furthermore, when compiled into assembly language, each step
will be replaced by many smaller steps. Assembly language is in turn executed by
the microprogramming of a computer, and eventually we come down to logic gates,
flip-flops, and registers. Because of this fact, and because each computer has its own
architecture and machine characteristics, it is customary to ignore the constant coef-
ficients of the graph parameters ε and n, and to say that the algorithm has order ε+n,
which is denoted by O(ε + n), pronounced “big Oh of ε + n”. A formal definition
is provided by Definition 1.6. Even though the actual running time of a given algo-
rithm depends on the architecture of the machine it is run on, the programmer can
often make a reasonable estimate of the number of steps of some constant size (e.g.,
counting one assignment, comparison, addition, multiplication, etc. as one step), and
Graphs and Their Complements 19

thereby obtain a formula like 3ε + 3n. Such an algorithm will obviously be superior
to one which takes 15ε + 12n steps of similar size. Because of this fact, we shall try
to obtain formulas of this form whenever possible, as well as expressing the result in
a form like O(ε + n).
The complexity of an algorithm is the number of steps it must perform, in the
worst possible case. That is, it is an upper bound on the number of steps. Because
the size of each step is an unknown constant, formulas like 5n2 /6 and 25n2 are both
expressed as O(n2 ). We now give a formal definition of this notation.
DEFINITION 1.6: Suppose f : Z+ → R and g : Z+ → R. We say that f (n) is
O(g(n)) provided that there exist constants c > 0 and n0 ≥ 0 such that 0 ≤ f (n) ≤
c · g(n) for all n ≥ n0 .
In other words, f (n) is O(g(n)) provided that f (n) is bounded above by a con-
stant factor times g(n) for large enough n. For example, the function 5n3 + 2n + 1
is O(n3 ), because for all n ≥ 1, we have

5n3 + 2n + 1 ≤ 5n3 + 2n3 + n3 = 8n3 .

Hence, we can take c = 8 and n0 = 1, and Definition 1.6 is satisfied.


The notation f (n) is Ω(g(n)) (“big omega”) is used to indicate that f (n) is
bounded below by a constant factor times g(n) for large enough n.
DEFINITION 1.7: Suppose f : Z+ → R and g : Z+ → R. We say that f (n)
is Ω(g(n)) provided that there exist constants c > 0 and n0 ≥ 0 such that f (n) ≥
c · g(n) ≥ 0 for all n ≥ n0 .
We say that f (n) is Θ(g(n)) (“big theta”) when f (n) is bounded above and
below by constant factors times g(n). The constant factors may be different. More
precisely:
DEFINITION 1.8: Suppose f : Z+ → R and g : Z+ → R. We say that f (n)
is Θ(g(n)) provided that there exist constants c, c′ > 0 and n0 ≥ 0 such that 0 ≤
c · g(n) ≤ f (n) ≤ c′ · g(n) for all n ≥ n0 .
If f (n) is Θ(g(n)), then we say that f and g have the same growth rate.
The big O-notation is a method of indicating the qualitative nature of the formula,
whether quadratic, linear, logarithmic, exponential, etc. Notice that “equations” in-
volving O(·) are not really equations, because O(·) can only be used in this sense on
the right hand side of the equals sign. For example, we could also have shown that
10n2 + 4n − 4 is O(n3 ) or that 10n2 + 4n − 4 is O(2n ), but these expressions are
not equal to each other. Given a complexity formula like 10n2 + 4n − 4, we want the
smallest function f (n) such that 10n2 + 4n − 4 is O(f (n)). Among the useful rules
for working with the O-notation are the following sum and product rules.
Theorem 1.8. Suppose that the two functions f1 (n) and f2 (n) are both O(g(n)).
Then the function f1 (n) + f2 (n) is O(g(n)).
Theorem 1.9. Suppose that f1 (n) is O(g1 (n)) and f2 (n) is O(g2 (n)). Then the
function f1 (n) f2 (n) is O(g1 (n) g2 (n)).
20 Graphs, Algorithms, and Optimization

As examples of the use of these notations, we have that n2 is O(n3 ), n3 is Ω(n2 ),


and 2n2 + 3n − sin n + 1/n is Θ(n2 ).
Several properties of growth rates of functions that arise frequently in algorithm
analysis follow. The first of these says that a polynomial of degree d, in which the
high-order coefficient is positive, has growth rate nd .
Theorem 1.10. Suppose that ad > 0. Then the function a0 + a1 n + · · · + ad nd is
Θ(nd ).
The next result says that logarithmic growth does not depend on the base to which
logarithms are computed. It can be proved easily using the formula loga n = loga b ·
logb n.
Theorem 1.11. The function loga n is Θ(logb n) for any a, b > 1.
The next result can be proved using Stirling’s formula. It gives the growth rate of
the factorial function in terms of exponential functions.
Theorem 1.12. The function n! is Θ(nn+1/2 e−n ) .

Exercises
1.3.1 Show that if G is a simple graph with n vertices and ε edges, then log ε =
O(log n).
1.3.2 Consider the following statements which count the number of edges in a
graph, whose adjacency matrix is Adj .

Edges ← 0
for u ← 1 to n − 1
do for v ← u + 1 to n
do if Adj [u, v] = 1
then Edges ← Edges + 1

Calculate the number of steps the algorithm performs. Then calculate the
number of steps required by the following statements in which the graph
is stored in adjacency lists:

Edges ← 0
for u ← 1 to n − 1
do for each v −→ u
do if u < v
then Edges ← Edges + 1

What purpose does the condition u < v fulfill, and how can it be avoided?
1.3.3 Use induction to prove that the following formulas hold:

(a) 1 + 2 + 3 + · · · + n = n+1
2
Graphs and Their Complements 21
    
(b) 22 + 32 + 42 + · · · + n
2 = n+1
3 .


t

t+1 t+2
 n
 n+1

(c) t + t + t + ··· + t = t+1 .

1.3.4 Show that 3n2 + 12n = O(n2 ); that is, find constants A and N such that
3n2 + 12n ≤ An2 whenever n ≥ N .
1.3.5 Show that log(n + 1) = O(log n), where the logarithm is to base 2.
1.3.6 Use the answer to the previous question to prove that

(n + 1) log(n + 1) = O(n log n).

1.3.7 Prove that if f1 (n) and f2 (n) are both O(g(n)), then f1 (n) + f2 (n) is
O(g(n)).
1.3.8 Prove that if f1 (n) is O(g1 (n)) and f2 (n) is O(g2 (n)), then f1 (n) f2 (n)
is O(g1 (n) g2 (n)).

1.4 Notes
Some good general books on graph theory are B ERGE [14], B OLLOB ÁS [20],
B ONDY and M URTY [23], C HARTRAND and L ESNIAK [31], C HARTRAND and
O ELLERMANN [32], D IESTEL [44], G OULD [73], and W EST [189]. A very read-
able introductory book is T RUDEAU [172]. G IBBONS [66] is an excellent treatment
of graph algorithms. A good book discussing the analysis of algorithms is P URDOM
and B ROWN [138]. A HO , H OPCROFT, and U LLMAN [1], S EDGEWICK [157] and
W EISS [188] are all excellent treatments of data structures and algorithm analysis.
2
Paths and Walks

2.1 Introduction
Let u and v be vertices of a simple graph G. A path P from u to v is a sequence of
vertices u0 , u1 , . . . , uk such that u = u0 , v = uk , ui −→ ui+1 , and all the ui are
distinct vertices. The length of a path P is ℓ(P ), the number of edges it uses. In this
example, ℓ(P ) = k, and P is called a uv-path of length k. A uv-path of length 4 is
illustrated in Figure 2.1, with dashed edges.
A cycle C is a sequence of vertices u0 , u1 , . . . , uk forming a u0 uk -path, such that
uk −→ u0 . The length of C is ℓ(C), the number of edges that it uses. In this case,
ℓ(C) = k + 1.
A uv-path P connects u to v. The set of all vertices connected to any vertex
u forms a subgraph Cu , the connected component of G containing u. It will often
be the case that Cu contains all of G, in which case G is a connected graph. ω(G)
denotes the number of distinct connected components of G. The graph of Figure 2.1
is disconnected, with ω = 3.

FIGURE 2.1
A graph with three components

There are several ways of finding the connected components of a graph G. One
way to find the sets Cu for a graph G is as follows:

23
24 Graphs, Algorithms, and Optimization
procedure C OMPONENTS(G)
for each u ∈ V (G)
do initialize Cu to contain only u
 u ∈ V (G)
for each
for each v −→ u
do
do if Cu 6= Cv then M ERGE(Cu , Cv )

The inner for-loop ensures that, upon completion, if u −→ v, then Cu = Cv , for


any vertices u and v. Therefore, if P = (u0 , u1 , . . . , uk ) is any path, we can be sure
that Cu0 = Cu1 = · · · = Cuk , so that when the algorithm terminates, each Cu will
contain all the vertices connected to u by any path; that is, Cu will be the connected
component containing u.
The complexity of the algorithm naturally depends upon the data structures used
to program it. This algorithm is a perfect example of the use of the merge-find data
structure. Initially, each Cu = {u} and Cv = {v}. When the edge uv is examined,
Cu and Cv are merged, so that now Cu = Cv = {u, v}. The two operations which
need to be performed are to determine whether Cu = Cv , and to merge Cu and
Cv into one. This can be done very efficiently by choosing a vertex in each Cu as
component representative.

uRep ← C OMP R EP (Cu )


vRep ← C OMP R EP (Cv )
if uRep 6= vRep
then M ERGE(Cu , Cv )

Initially, Cu = {u}, so that u begins as the representative of Cu . Associated with


each vertex v is a pointer toward the representative of the component containing v.
To find the representative of Cu , we start at u and follow these pointers, until we
come to the component representative. The component representative is marked by a
pointer that is negative. The initial value is −1. The pointers are easily stored as an
array, CompPtr .
C OMP R EP () is a recursive procedure that follows the component pointers until a
negative value is reached.

procedure C OMP R EP (u)


if CompPtr [u] < 0
return (u)
then 
theRep ← C OMP R EP (CompPtr [u])
else CompPtr [u] ← theRep

return (theRep )

The assignment
CompPtr [u] ← theRep
Another Random Document on
Scribd Without Any Related Topics
IN THREE STYLES. NET
PRICES.
No. Regular size, to accommodate 70 patients
1. daily each month for one year, $1.25
No. Large size, to accommodate 105 patients
2. daily each month for one year, $1.50
No. In which the “Blanks for Recording Visits
3. in” are in removable sections, $1.75
Special Edition for Great Britain, without
printed matter, 4s. 6d.

N. B.—The Recording of Visits in this List may be Commenced at


any time during the Year.

MICHENER

Hand-Book of Eclampsia; OR, NOTES AND CASES


OF PUERPERAL CONVULSIONS.
By E. Michener, M.D.; J. H. Stubbs, M.D.; R. B.
Ewing, M.D.; B. Thompson, M.D.; S. Stebbins, M.D.
16mo. Cloth.
Price, 60 cents, net; in Great Britain, 4s. 6d.; in
France, 4 fr. 20.

NISSEN
A MANUAL OF INSTRUCTION FOR GIVING

Swedish Movement and Massage Treatment


By Prof. Hartvig Nissen, late Director of the
Swedish Health Institute, Washington, D.C.; late
instructor in Physical Culture and Gymnastics at the
Johns Hopkins University, Baltimore, Md.;
Instructor of Swedish and German Gymnastics at
Harvard University’s Summer School, 1891, etc., etc.
This excellent little volume treats this very
important subject in a practical manner. Full
instructions are given regarding the mode of applying
the Swedish Movement and Massage Treatment in
various diseases and conditions of the human system
with the greatest degree of effectiveness. This book is
indispensable to every physician who wishes to know
how to use these valuable handmaids of medicine.
Illustrated with 29 Original Wood-Engravings.
In one 12mo volume of 128 Pages. Neatly bound in
Cloth.
Price, post-paid, in the United States and Canada,
$1.00, net; in Great Britain, 6s.; in France, 6 fr. 20.
The present volume is a modest account of the application of the
Swedish Movement and Massage Treatment, in which the technique
of the various procedures are clearly stated as well as illustrated in a
very excellent manner.—North American Practitioner.
This manual is valuable to the practitioner, as it contains a terse
description of a subject but too little understood in this country....
The book is got up very creditably.—N. Y. Med. Journal.

SAJOUS

HAY FEVER And Its Successful Treatment by


Superficial Organic Alteration of the Nasal Mucous
Membrane.
By Charles E. Sajous, M.D., formerly Lecturer
on Rhinology and Laryngology in Jefferson Medical
College; Chief Editor of the Annual of the Universal
Medical Sciences, etc. With 13 Engravings on Wood.
103 pages. 12mo. Bound in Cloth, Beveled Edges.
Price, post-paid, in the United States and Canada,
$1.00, net; in Great Britain, 6s.; in France, 6 fr. 20.

STRAUB

Symptom Register and Case Record.


Designed by D. W. Straub, M.D.
Giving in plain view, on one side of the sheet 7½
× 10½ inches, the Clinical Record of the sick,
including Date, Name, Residence, Occupation,
Symptoms, Inspection (Auscultation and
Percussion), History, Respiration, Pulse,
Temperature, Diagnosis, Prognosis, Treatment
(special and general), and Remarks, all conveniently
arranged, and with ample room for recording, at each
call, for four different calls, each item named above,
the whole forming a clinical history of individual
cases of great value to every Practitioner.
Published in stiff Board Tablets of 50 sheets each, at
50 cts. net per tablet, and in Book-form, flexible
binding, with Alphabetical Marginal Index, at 75 cts.,
net.

Physician’s All-Requisite Time- and Labor-Saving


Account-Book.

Being a Ledger and Account-Book for Physicians’


Use, Meeting all the Requirements of the Law
and Courts.
Designed by William A. Seibert, M.D., of
Easton, Pa.
Probably no class of people lose more money
through carelessly kept accounts and overlooked or
neglected bills than physicians. Often detained at the
bedside of the sick until late at night, or deprived of
even a modicum of rest, it is with great difficulty that
he spares the time or puts himself in condition to
give the same care to his own financial interests that
a merchant, a lawyer, or even a farmer devotes. It is
then plainly apparent that a system of bookkeeping
and accounts that, without sacrificing accuracy, but,
on the other hand, ensuring it, at the same time
relieves the keeping of a physician’s book of half their
complexity and two-thirds the labor, is a convenience
which will be eagerly welcomed by thousands of
overworked physicians. Such a system has at last
been devised, and we take pleasure in offering it to
the profession in the form of The Physician’s All-
Requisite Time- and Labor-Saving Account-Book.
There is no exaggeration in stating that this
Account-Book and Ledger reduces the labor of
keeping your accounts more than one-half, and at the
same time secures the greatest degree of accuracy.
We may mention a few of the superior advantages of
The Physician’s All-Requisite Time- and Labor-
Saving Account-Book, as follows:—
First—Will meet all the requirements of the law
and courts.
Second—Self-explanatory; no cipher code.
Third—Its completeness without sacrificing
anything.
Fourth—No posting; one entry only.
Fifth—Universal; can be commenced at any time of
the year, and can be continued indefinitely until
every account is filled.
Sixth—Absolutely no waste of space.
Seventh—One person must needs be sick every
day of the year to fill his account, or might be ten
years about it and require no more than the space
for one account in this ledger.
Eighth—Double the number and many times more
than the number of accounts in any similar book;
the 300–page book contains space for 900
accounts, and the 600–page book contains space
for 1800 accounts.
Ninth—There are no smaller spaces.
Tenth—Compact without sacrificing completeness;
every account complete on same page—a decided
advantage and recommendation.
Eleventh—Uniform size of leaves.
Twelfth—The statement of the most complicated
account is at once before you at any time of month
or year—in other words, the account itself as it
stands is its simplest statement.
Thirteenth—No transferring of accounts,
balances, etc.
To all physicians desiring a quick, accurate, and
comprehensive method of keeping their accounts, we
can safely say that no book as suitable as this one has
ever been devised. A descriptive circular showing the
plan of the book will be sent on application.

NET PRICES, SHIPPING EXPENSES PREPAID.


Canada
In (duty Great
U.S. paid). Britain. France.
No. 1. 300 Pages, for
900 Accounts per
Year, Size 10×12,
Bound in ¾-
Russia, Raised
Back Bands, Cloth 30 fr.
Sides, $5.00 $5.50 28s. 30.
No. 2. 600 Pages, for
1800 Accounts per
Year, Size 10×12,
Bound in ¾-
Russia, Raised
Back-Bands, Cloth
Sides, 8.00 8.80 42s. 49 fr. 40

PRICE and EAGLETON

Three Charts of the Nervo-Vascular System.


Part I.—The Nerves. Part II.—The Arteries. Part
III.—The Veins.
A New Edition, Revised and Perfected. Arranged
by W. Henry Price, M.D., and S. Potts Eagleton,
M.D. Endorsed by leading anatomists. Clearly and
beautifully printed upon extra durable paper.
PART I. The Nerves.—Gives in a clear form not only
the Cranial and Spinal Nerves, showing the
formation of the different Plexuses and their
branches, but also the complete distribution of the
Sympathetic Nerves.
PART II. The Arteries.—Gives a unique grouping of
the Arterial system, showing the divisions and
subdivisions of all the vessels, beginning from the
heart and tracing their CONTINUOUS distribution to
the periphery, and showing at a glance the
terminal branches of each artery.
PART III. The Veins.—Shows how the blood from
the periphery of the body is gradually collected by
the larger veins, and these coalescing forming still
larger vessels, until they finally trace themselves
into the Right Auricle of the heart.
It is therefore readily seen that “The Nervo-
Vascular System of Charts” offers the following
superior advantages:—
1. It is the only arrangement which combines the
Three Systems, and yet each is perfect and distinct in
itself.
2. It is the only instance of the Cranial, Spinal,
and Sympathetic Nervous Systems being represented
on one chart.
3. From its neat size and clear type, and being
printed only upon one side, it may be tacked up in
any convenient place, and is always ready for
freshening up the memory and reviewing for
examination.
Price, post-paid, in United States and Canada, 50
cents, net, complete; in Great Britain, 3s. 6d.; in
France, 3 fr. 60.
For the student of anatomy there can possibly be no more
concise way of acquiring a knowledge of the nerves, veins, and
arteries of the human system. It presents at a glance their trunks and
branches in the great divisions of the body. It will save a world of
tedious reading, and will impress itself on the mind as no ordinary
vade mecum, even, could. Its price is nominal and its value
inestimable. No student should be without it.—Pacific Record of
Medicine and Surgery.
These are three admirably arranged charts for the use of
students, to assist in memorizing their anatomical studies.—Buffalo
Med. and Surg. Jour.

PURDY
Diabetes: Its Cause, Symptoms and Treatment
By Chas. W. Purdy, M.D. (Queen’s University),
Honorary Fellow of the Royal College of Physicians
and Surgeons of Kingston; Member of the College of
Physicians and Surgeons of Ontario; Author of
“Bright’s Disease and Allied Affections of the
Kidneys;” Member of the Association of American
Physicians; Member of the American Medical
Association; Member of the Chicago Academy of
Sciences, etc.
Contents.—Section I. Historical, Geographical,
and Climatological Considerations of Diabetes
Mellitus. II. Physiological and Pathological
Considerations of Diabetes Mellitus. III. Etiology of
Diabetes Mellitus. IV. Morbid Anatomy of Diabetes
Mellitus. V. Symptomatology of Diabetes Mellitus.
VI. Treatment of Diabetes Mellitus. VII. Clinical
Illustrations of Diabetes Mellitus. VIII. Diabetes
Insipidus; Bibliography.
12mo. Dark Blue Extra Cloth. Nearly 200 pages.
No. 8 in the Physicians’ and Students’ Ready-
Reference Series.

Price, post-paid, in the United States and Canada,


$1.25, net; in Great Britain, 6s. 6d.; in France, 7 fr.
75.
This will prove a most entertaining as well as most interesting
treatise upon a disease which frequently falls to the lot of every
practitioner. The work has been written with a special view of
bringing out the features of the disease as it occurs in the United
States. The author has very judiciously arranged the little volume,
and it will offer many pleasant attractions to the practitioner.—
Nashville Journal of Medicine and Surgery.
While many monographs have been published which have dealt
with the subject of diabetes, we know of none which so thoroughly
considers its relations to the geographical conditions which exist in
the United States, nor which is more complete in its summary of the
symptomatology and treatment of this affection. A number of tables,
showing the percentage of sugar in a very large number of alcoholic
beverages, adds very considerably to the value of the work.—Medical
News.

REMONDINO

History of Circumcision.

From the Earliest Times to the Present. Moral


and Physical Reasons for its Performance; with
a History of Eunuchism, Hermaphrodism, etc.,
and of the Different Operations Practiced upon
the Prepuce.
By P. C. Remondino, M.D. (Jefferson), Member
of the American Medical Association; of the
American Public Health Association; Vice-President
of California State Medical Society and of Southern
California Medical Society, etc.
In one neat 12mo volume of 346 pages.
Handsomely bound in Extra Dark-Blue Cloth, and
illustrated with two fine wood-engravings, showing
the two principal modes of Circumcision in ancient
times. No. 11 in the Physicians’ and Students’ Ready-
Reference Series.
Price, post-paid, in United States and Canada,
$1.25, net; in Great Britain, 6s. 6d.; in France, 7 fr.
75.
A Popular Edition (unabridged), bound in Paper
Covers, is also issued. Price, 50 Cents, net; in
Great Britain, 3s.; in France, 3 fr. 60.
Every physician should read this book; he will
there find, in a condensed and systematized form,
what there is known concerning Circumcision. The
book deals with simple facts, and it is not a
dissertation on theories. It deals, in plain, pointed
language, with the relation that the prepuce bears to
physical degeneracy and disease, bases all its
utterances on what has occurred and on what is
known. The author has here gathered from every
source the material for his subject, and the
deductions are unmistakable.
This is a very full and readable book. To the reader who wishes
to know all about the antiquity of the operation, with the views pro
and con of the right of this appendage to exist, its advantages,
dangers, etc., this is the book.—The Southern Clinic.
The operative chapter will be particularly useful and interesting
to physicians, as it contains a careful and impartial review of all the
operative procedures, from the most simple to the most elaborate,
paying particular attention to the subject of after-dressings. It is a
very interesting and instructive work, and should be read very
liberally by the profession.—The Med. Brief.
The author’s views in regard to circumcision, its necessity, and
its results, are well founded, and its performance as a prophylactic
measure is well established.—Columbus Med. Journal.

By the Same Author

The Mediterranean Shores of America.

Southern California: Its Climatic, Physical, and


Meteorological Conditions.
By P. C. Remondino, M.D. (Jefferson), etc.
Complete in one handsomely printed Octavo
volume of nearly 175 pages, with 45 appropriate
illustrations and 2 finely executed maps of the region,
showing altitudes, ocean currents, etc. Bound in
Extra Cloth.
Price, post-paid, in United States and Canada,
$1.25, net; in Great Britain, 6s. 6d.; in France, 7 fr.
75.
Cheaper Edition (unabridged), bound in Paper,
post-paid, in United States and Canada, 75 Cents,
net; in Great Britain, 4s.; in France, 5 fr.
Italy, of the Old World, does not excel nor even
approach this region in point of salubrity of climate
and all-around healthfulness of environment. This
book fully describes and discusses this wonderfully
charming country. The medical profession, who have
long desired a trustworthy treatise of true scientific
value on this celebrated region, will find in this
volume a satisfactory response to this long-felt and
oft-expressed wish.

ROHÉ

Text-Book of Hygiene.

A Comprehensive Treatise on the Principles and


Practice of Preventive Medicine from an
American Stand-point.
By George H. Rohé, M.D., Professor of
Obstetrics and Hygiene in the College of Physicians
and Surgeons, Baltimore; Member of the American
Public Health Association, etc.
Every Sanitarian should have Rohé’s “Text-Book
of Hygiene” as a work of reference.
Second Edition, thoroughly revised and largely
rewritten, with many illustrations and valuable
tables. In one handsome Royal Octavo volume of
over 400 pages, bound in Extra Cloth.
Price, post-paid, in United States, $2.50, net; Canada
(duty paid), $2.75, net; Great Britain, 14s.; France, 16
fr. 20.
One prominent feature is that there are no superfluous words;
every sentence is direct to the point sought. It is, therefore, easy
reading, and conveys very much information in little space.—The
Pacific Record of Medicine and Surgery.
It is unquestionably a work that should be in the hands of every
physician in the country, and medical students will find it a most
excellent and valuable text-book.—The Southern Practitioner.
The first edition was rapidly exhausted, and the book justly
became an authority to physicians and sanitary officers, and a text-
book very generally adopted in the colleges throughout America. The
second edition is a great improvement over the first, all of the matter
being thoroughly revised, much of it being rewritten, and many
additions being made. The size of the book is increased one hundred
pages. The book has the original recommendation of being a
handsomely-bound, clearly-printed octavo volume, profusely
illustrated with reliable references for every branch of the subject
matter.—Medical Record.
The wonder is how Professor Rohé has made the book so
readable and entertaining with so much matter necessarily
condensed. Altogether, the manual is a good exponent of hygiene and
sanitary science from the present American stand-point, and will
repay with pleasure and profit any time that may be given to its
perusal.—University Medical Magazine.

By the Same Author


A Practical Manual of Diseases of the Skin.
By George H. Rohé, M.D., Professor of Materia
Medica, Therapeutics, and Hygiene, and formerly
Professor of Dermatology in the College of Physicians
and Surgeons, Baltimore, etc., assisted by J.
Williams Lord, A.B., M.D., Lecturer on
Dermatology and Bandaging in the College of
Physicians and Surgeons; Assistant Physician to the
Skin Department in the Dispensary of Johns Hopkins
Hospital.
In one neat 12mo volume of over 300 pages
bound in Extra Dark-Blue Cloth. No. 13 in the
Physicians’ and Students’ Ready-Reference Series.
Price, post-paid, in the United States and Canada,
$1.25, net; in Great Britain, 6s. 6d.; in France, 7 fr.
75.
The PRACTICAL character of this work makes it
specially desirable for the use of students and general
practitioners.
The nearly one hundred (100) reliable and
carefully prepared Formulæ at the end of the volume
add not a little to its practical value.
All the various forms of skin diseases, from Acne
to Zoster (alphabetically speaking), are succinctly yet
amply treated of, and the arrangement of the book,
with its excellent index and unusually full table of
contents, goes to make up a truly satisfactory volume
for ready reference in daily practice.

SENN

Principles of Surgery.
By N. Senn, M.D., Ph.D., Professor of Practice of
Surgery and Clinical Surgery in Rush Medical
College, Chicago, Ill.; Professor of Surgery in the
Chicago Polyclinic; Attending Surgeon to the
Milwaukee Hospital; Consulting Surgeon to the
Milwaukee County Hospital and to the Milwaukee
County Insane Asylum.
This work, by one of America’s greatest
surgeons, is thoroughly COMPLETE; its clearness and
brevity of statement are among its conspicuous
merits. The author’s long, able, and conscientious
researches in every direction in this important field
are a guarantee, of unusual trustworthiness, that
every branch of the subject is treated authoritatively,
and in such a manner as to bring the greatest gain in
knowledge to the practitioner and student.
In one Royal Octavo volume, with 109 fine
Wood-Engravings and 624 pages.
Canada
United (duty Great
States. paid). Britain. France.
Price, in Cloth, $5.00,
$4.50, net net 24s. 6d. 27 fr. 20
Price, in Sheep
or ½-
Russia, 5.50, net 6.10, net 30s. 33 fr. 10

Stephen Smith, M.D., Professor of Clinical Surgery Medical


Department University of the City of New York, writes: “There has
long been great need of a work on the principles of surgery which
would fully illustrate the present advanced state of knowledge of the
various subjects embraced in this volume. The work seems to me to
meet this want admirably.”
Frank J. Lutz, M.D., St. Louis, Mo., says: “It seems incredible
that those who pretend to teach have done without such a guide
before, and I do not understand how our students succeeded in
mastering the principles of modern surgery by attempting to read
our obsolete text-books. American surgery should feel proud of the
production, and the present generation of surgeons owe you a debt of
gratitude.”
The work is systematic and compact, without a fact omitted or a
sentence too much, and it not only makes instructive but fascinating
reading. A conspicuous merit of Senn’s work is his method, his
persistent and tireless search through original investigations for
additions to knowledge, and the practical character of his
discoveries.—The Review of Insanity and Nervous Diseases.
After perusing this work on several different occasions, we have
come to the conclusion that it is a remarkable work, by a man of
unusual ability.—The Canada Medical Record.
The work is exceedingly practical, as the chapters on the
treatment of the various conditions considered are based on sound
deductions, are complete, and easily carried out by any painstaking
surgeon.—Medical Record.
The book throughout is worthy of the highest praise. It should
be adopted as a text-book in all of our schools.—University Medical
Magazine.

By the Same Author

Tuberculosis of the Bones and Joints.


By N. Senn, M.D., Ph.D.
Illustrated with upwards of One Hundred (100)
Engravings and Plates, many of them colored. Royal
Octavo. Over 500 pages.

Canada
United (duty Great
States. paid). Britain. France.
Price, Extra
Cloth, $4.00, net $4.40, net 22s. 6d. 24 fr. 60
Price, Sheep
or ½-
Russia, 5.00, net 5.50, net 28s. 30 fr. 30

To get an idea of the scope of the work read the


following titles of chapters: History. Proofs which
Establish the Tubercular Nature of the So-called
Strumous Disease of Bones and Joints. Bacillus
Tuberculosis. Histology of Tubercle. Histogenesis of
Tubercle. Caseation. Tubercular Abscess.
Topography of Bone and Joint Tuberculosis. Bone
Tuberculosis. Etiology of Bone Tuberculosis.
Symptoms and Diagnosis of Tubercular Bone
Affections. Prognosis of Tubercular Disease of Bone.
Treatment of Tuberculosis of Bone. Tuberculosis of
Joints. Special Points in the Pathology of Synovial
Tuberculosis. Etiology; Symptoms and Diagnosis,
Prognosis. Treatment of Tuberculosis of Joints. Local
Treatment. Tuberculin Treatment. Treatment of
Tuberculosis of Joints by Parenchymatous and Intra-
articular Injections. Operative Treatment. Resection.
Atypical and Typical Resection. Immediate and
Remote Results of Resection. Amputation. Post-
Operative Treatment. Tuberculosis of Special Bones.
Tuberculosis of the Bones of the Trunk. Tuberculosis
of Pelvic Bones, Scapula, Clavicle, Sternum, and Ribs.
Tuberculosis of Joints of Upper Extremity.
Tuberculosis of Hip-Joint. Tuberculosis of Knee-
Joint. Tuberculosis of Ankle-Joint and Tarsus.
All these subjects are handled in the author’s simple, direct, and
vigorous style, and always with the practical side of the question kept
in view, and leave nothing necessary or desirable untouched. We
know of no book of equal learning, thoroughness, and utility upon
the common and important class of cases composed under
Tuberculosis of Bones and Joints. The illustrations are numerous
and good, and the printing and other details of issuing a book have
been attended to with an enterprise and ambition creditable to the
publishers.—Cleveland Medical Gazette.
SHOEMAKER

Materia Medica and Therapeutics.

With Especial Reference to the Clinical


Application of Drugs.
By John V. Shoemaker, A.M., M.D., Professor
of Materia Medica, Pharmacology, Therapeutics, and
Clinical Medicine, and Clinical Professor of Diseases
of the Skin in the Medico-Chirurgical College of
Philadelphia; Physician to the Medico-Chirurgical
Hospital; Member of the American Medical
Association, of the Pennsylvania and Minnesota State
Medical Societies, the American Academy of
Medicine, the British Medical Association; Fellow of
the Medical Society of London, etc.
Second Edition. Thoroughly revised. In two
volumes. Royal Octavo. Nearly 1100 pages.
Volume I is devoted to pharmacy, general
pharmacology, and therapeutics, and remedial agents
not properly classed with drugs.
Volume II is wholly taken up with the
consideration of drugs, each remedy being studied
from three points of view, viz.: the Preparations, or
Materia Medica; the Physiology and Toxicology, or
Pharmacology; and, lastly, its Therapy. Each volume
is thoroughly and carefully indexed with clinical and
general indexes, and the second volume contains a
most valuable and exhaustive table of doses
extending over several double-column octavo pages.
The Volumes may be Purchased Separately.

VOL. I.

Canada
United (duty Great
States. paid). Britain. France.
Extra
Cloth, $2.50, net $2.75, net 14s. 16 fr. 20
Sheep, 3.25, net 3.60, net 18s. 20 fr. 20

VOL. II.

Canada
United (duty Great
States. paid). Britain. France.
Extra
Cloth, $3.50, net $4.00, net 19s. 22 fr. 40
Sheep, 4.50, net 5.00, net 25s. 28 fr. 60

The well-known practical usefulness of this


eminently standard work is now greatly increased by
the very recent and accurate information it gives,
from a clinical stand-point, concerning the new and
useful drugs introduced to the medical profession
since the issue of the first edition, two years ago; so
that it is thoroughly abreast of the progress of
therapeutic science, and hence really indispensable
to every student and practitioner.
REVIEWS OF THE FIRST EDITION.
The value of the book lies in the fact that it contains all that is
authentic and trustworthy about the host of new remedies which
have deluged us in the last five years. The pages are remarkably free
from useless information. The author has done well in following the
alphabetical order.—N. Y. Med. Record.
In perusing the pages devoted to the special consideration of
drugs, their pharmacology, physiological action, toxic action, and
therapy, one is constantly surprised at the amount of material
compressed in so limited a space. The book will prove a valuable
addition to the physician’s library.—Occidental Med. Times.
It is a meritorious work, with many unique features. It is richly
illustrated by well-tried prescriptions showing the practical
application of the various drugs discussed. In short, this work makes
a pretty complete encyclopædia of the science of therapeutics,
conveniently arranged for handy reference.—Med. World.

SHOEMAKER

Heredity, Health, and Personal Beauty.

Including the Selection of the Best Cosmetics


for the Skin, Hair, Nails, and all Parts Relating
to the Body.
By John V. Shoemaker, A.M., M.D., Professor
of Materia Medica, Pharmacology, Therapeutics, and
Clinical Medicine, and Clinical Professor of Diseases
of the Skin in the Medico-Chirurgical College of
Philadelphia; Physician to the Medico-Chirurgical
Hospital, etc., etc.
The health of the skin and hair, and how to
promote them, are discussed; the treatment of the
nails; the subjects of ventilation, food, clothing,
warmth, bathing; the circulation of the blood,
digestion, ventilation; in fact, all that in daily life
conduces to the well-being of the body and
refinement is duly enlarged upon. To these stores of
popular information is added a list of the best
medicated soaps and toilet soaps, and a whole
chapter of the work is devoted to household
remedies. The work is largely suggestive, and gives
wise and timely advice as to when a physician should
be consulted. This is just the book to place on the
waiting-room table of every physician, and a work
that will prove useful in the hands of your patients.
Complete in one handsome Royal Octavo volume
of 425 pages, beautifully and clearly printed, and
bound in Extra Cloth, Beveled Edges, with side and
back gilt stamps and in Half-Morocco Gilt Top.
Price, in United States, post-paid, Cloth, $2.50;
Half-Morocco, $3.50, net. Canada (duty paid),
Cloth, $2.75; Half-Morocco, $3.90, net. Great
Britain. Cloth. 14s.; Half-Morocco. 19s. 6d.
France. Cloth. 15 fr.; Half-Morocco, 22 fr.
The book reads not like the fulfillment of a task,
but like the researches and observations of one
thoroughly in love with his subject, fully appreciating
its importance, and writing for the pleasure he
experiences in it. The work is very comprehensive
and complete in its scope.—Medical World.
The book before us is a most remarkable
production and a most entertaining one. The book is
equally well adapted for the laity or the profession. It
tells us how to be healthy, happy, and as beautiful as
possible. We can’t review this book; it is different
from anything we have ever read. It runs like a novel,
and will be perused until finished with pleasure and
profit. Buy it, read it, and be surprised, pleased, and
improved.—The Southern Clinic.
This book is written primarily for the laity, but
will prove of interest to the physician as well. Though
the author goes to some extent into technicalities, he
confines himself to the use of good, plain English,
and in that respect sets a notable example to many
other writers on similar subjects. Furthermore, the
book is written from a thoroughly American stand-
point.—Medical Record.
This is an exceedingly interesting book, both
scientific and practical in character, intended for
both professional and lay readers. The book is well
written and presented in admirable form by the
publisher.—Canadian Practitioner.

SHOEMAKER

Ointments and Oleates: Especially in Diseases of the


Skin.
By John V. Shoemaker, A.M., M.D., Professor
of Materia Medica, Pharmacology, Therapeutics, and
Clinical Medicine, and Clinical Professor of Diseases
of the Skin in the Medico-Chirurgical College of
Philadelphia, etc., etc.
The author concisely concludes his preface as
follows: “The reader may thus obtain a conspectus of
the whole subject of inunction as it exists to-day in
the civilized world. In all cases the mode of
preparation is given, and the therapeutical
application described seriatim, in so far as may be
done without needless repetition.”
Second Edition, revised and enlarged. 298
pages. 12mo. Neatly bound in Dark-Blue Cloth. No. 6
in the Physicians’ and Students’ Ready-Reference
Series.
Price, post-paid, in the United States and Canada,
$1.50, net; in Great Britain, 8s. 6d.; in France, 9 fr.
35.
It is invaluable as a ready reference when
ointments or oleates are to be used, and is serviceable
to both druggist and physician.—Canada Medical
Record.
To the physician who feels uncertain as to the
best form in which to prescribe medicines by way of
the skin the book will prove valuable, owing to the
many prescriptions and formulæ which dot its pages,
while the copious index at the back materially aids in
making the book a useful one.—Medical News.

SMITH

Physiology of the Domestic Animals.

A Text-Book for Veterinary and Medical


Students and Practitioners.
By Robert Meade Smith, A.M., M.D., Professor
of Comparative Physiology in University of
Pennsylvania; Fellow of the College of Physicians and
Academy of the Natural Sciences, Philadelphia; of
American Physiological Society; of the American
Society of Naturalists, etc.
Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about books and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!

ebookgate.com

You might also like