Partition Refinement
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Applications of Lexicographic Breadth-First Search to Modular Decomposition, Split Decomposition, and Circle Graphs by Marc Tedd
Applications of Lexicographic Breadth-First Search to Modular Decomposition, Split Decomposition, and Circle Graphs by Marc Tedder A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Computer Science University of Toronto Copyright c 2011 by Marc Tedder Abstract Applications of Lexicographic Breadth-First Search to Modular Decomposition, Split Decomposition, and Circle Graphs Marc Tedder Doctor of Philosophy Graduate Department of Computer Science University of Toronto 2011 This thesis presents the first sub-quadratic circle graph recognition algorithm, and develops im- proved algorithms for two important hierarchical decomposition schemes: modular decomposition and split decomposition. The modular decomposition algorithm results from unifying two dif- ferent approaches previously employed to solve the problem: divide-and-conquer and factorizing permutations. It runs in linear-time, and is straightforward in its understanding, correctness, and implementation. It merely requires a collection of trees and simple traversals of these trees. The split-decomposition algorithm is similar in being straightforward in its understanding and correctness. An efficient implementation of the algorithm is described that uses the union-find data-structure. A novel charging argument is used to prove the running-time. The algorithm is the first to use the recent reformulation of split decomposition in terms of graph-labelled trees. This facilitates its extension to circle graph recognition. In particular, it allows us to efficiently apply a new lexicographic breadth-first search characterization of circle graphs developed in the thesis. Lexicographic breadth-first search is additionally responsible for the efficiency of the split decom- position algorithm, and contributes to the simplicity of the modular decomposition algorithm. -
The Wonderful World of Chordal Graphs
The Wonderful World of Chordal Graphs Martin Charles Golumbic University of Haifa, Israel The 32nd European Conference on Combinatorial Optimization, ECCO XXXII, Malta, 2019 Preamble In 1970, Claude Berge published the original French version his fundamental and perhaps most important book, Graphes et Hypergraphes. To many graph theorists, its chapters were saplings ready to be cultivated into the vast forest that we know today. As we enter this 50th (Jubilee) anniversary year, we celebrate Le Bois de Berge with its mathematical palms, pines and poplars, firs, fruit and ficuses, oaks, maples and cacti. One of those sapling chapters was on Perfect Graphs. Berge challenged us with his Perfect Graph Conjecture, and surveyed its core subclasses: comparability graphs, interval graphs, and triangulated (chordal) graphs. —citing Fulkerson, Gallai, Ghouila-Houri, Gilmore, Hoffman, Hojós, Lovász. By the time the English version appeared in 1973, more sprouts could have been added to the blossoming family —Benzer, Dirac, Fishburn, Gavril, Roberts, Rose, Trotter. However, these and others would wait until 1980, when my own book Algorithmic Graph Theory and Perfect Graphs first appeared. —a direct outgrowth of Berge’s inspiring chapter. Triangulated graphs – also known as rigid circuit graphs (Dirac), acyclic graphs (Lekkerkerker and Boland) But it was Fanica Gavril who coined the term chordal graphs. A graph G is a chordal graph, if every cycle in G of length greater than or equal to 4 has a chord, that is, an edge connecting two vertices that are not consecutive on the cycle. NOT a chordal graph This IS a It has many copies of C4 chordal graph Fanica Gavril: “I knew that these graphs occurred before as triangulated graphs, but the term triangulated was also used for maximal planar graphs, implying the statement, ‘some planar triangulated graphs are not triangulated graphs’ (like the complete wheels). -
Perfect Graphs Chinh T
University of Dayton eCommons Computer Science Faculty Publications Department of Computer Science 2015 Perfect Graphs Chinh T. Hoang Wilfrid Laurier University R. Sritharan University of Dayton Follow this and additional works at: http://ecommons.udayton.edu/cps_fac_pub Part of the Graphics and Human Computer Interfaces Commons, and the Other Computer Sciences Commons eCommons Citation Hoang, Chinh T. and Sritharan, R., "Perfect Graphs" (2015). Computer Science Faculty Publications. 87. http://ecommons.udayton.edu/cps_fac_pub/87 This Book Chapter is brought to you for free and open access by the Department of Computer Science at eCommons. It has been accepted for inclusion in Computer Science Faculty Publications by an authorized administrator of eCommons. For more information, please contact [email protected], [email protected]. CHAPTE R 28 Perfect Graphs Chinh T. Hoang* R. Sritharan t CO NTENTS 28.1 Introd uction ... .. ..... ............. ............................... .. ........ .. 708 28.2 Notation ............................. .. ..................... .................... 710 28.3 Chordal Graphs ....................... ................. ....... ............. 710 28.3.1 Characterization ............ ........................... .... .. ... 710 28.3.2 Recognition .................... ..................... ... .. ........ .. ... 712 28.3.3 Optimization ................................................ .. ......... 715 28.4 Comparability Graphs ............................................... ..... .. 715 28.4.1 Characterization -
Graph Algorithms
Graph Algorithms PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Wed, 29 Aug 2012 18:41:05 UTC Contents Articles Introduction 1 Graph theory 1 Glossary of graph theory 8 Undirected graphs 19 Directed graphs 26 Directed acyclic graphs 28 Computer representations of graphs 32 Adjacency list 35 Adjacency matrix 37 Implicit graph 40 Graph exploration and vertex ordering 44 Depth-first search 44 Breadth-first search 49 Lexicographic breadth-first search 52 Iterative deepening depth-first search 54 Topological sorting 57 Application: Dependency graphs 60 Connectivity of undirected graphs 62 Connected components 62 Edge connectivity 64 Vertex connectivity 65 Menger's theorems on edge and vertex connectivity 66 Ear decomposition 67 Algorithms for 2-edge-connected components 70 Algorithms for 2-vertex-connected components 72 Algorithms for 3-vertex-connected components 73 Karger's algorithm for general vertex connectivity 76 Connectivity of directed graphs 82 Strongly connected components 82 Tarjan's strongly connected components algorithm 83 Path-based strong component algorithm 86 Kosaraju's strongly connected components algorithm 87 Application: 2-satisfiability 88 Shortest paths 101 Shortest path problem 101 Dijkstra's algorithm for single-source shortest paths with positive edge lengths 106 Bellman–Ford algorithm for single-source shortest paths allowing negative edge lengths 112 Johnson's algorithm for all-pairs shortest paths in sparse graphs 115 Floyd–Warshall algorithm -
Fundamental Data Structures Zuyd Hogeschool, ICT Contents
Fundamental Data Structures Zuyd Hogeschool, ICT Contents 1 Introduction 1 1.1 Abstract data type ........................................... 1 1.1.1 Examples ........................................... 1 1.1.2 Introduction .......................................... 2 1.1.3 Defining an abstract data type ................................. 2 1.1.4 Advantages of abstract data typing .............................. 5 1.1.5 Typical operations ...................................... 5 1.1.6 Examples ........................................... 6 1.1.7 Implementation ........................................ 7 1.1.8 See also ............................................ 8 1.1.9 Notes ............................................. 8 1.1.10 References .......................................... 8 1.1.11 Further ............................................ 9 1.1.12 External links ......................................... 9 1.2 Data structure ............................................. 9 1.2.1 Overview ........................................... 10 1.2.2 Examples ........................................... 10 1.2.3 Language support ....................................... 11 1.2.4 See also ............................................ 11 1.2.5 References .......................................... 11 1.2.6 Further reading ........................................ 11 1.2.7 External links ......................................... 12 2 Sequences 13 2.1 Array data type ............................................ 13 2.1.1 History ........................................... -
Fundamental Data Structures
Fundamental Data Structures PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Thu, 17 Nov 2011 21:36:24 UTC Contents Articles Introduction 1 Abstract data type 1 Data structure 9 Analysis of algorithms 11 Amortized analysis 16 Accounting method 18 Potential method 20 Sequences 22 Array data type 22 Array data structure 26 Dynamic array 31 Linked list 34 Doubly linked list 50 Stack (abstract data type) 54 Queue (abstract data type) 82 Double-ended queue 85 Circular buffer 88 Dictionaries 103 Associative array 103 Association list 106 Hash table 107 Linear probing 120 Quadratic probing 121 Double hashing 125 Cuckoo hashing 126 Hopscotch hashing 130 Hash function 131 Perfect hash function 140 Universal hashing 141 K-independent hashing 146 Tabulation hashing 147 Cryptographic hash function 150 Sets 157 Set (abstract data type) 157 Bit array 161 Bloom filter 166 MinHash 176 Disjoint-set data structure 179 Partition refinement 183 Priority queues 185 Priority queue 185 Heap (data structure) 190 Binary heap 192 d-ary heap 198 Binomial heap 200 Fibonacci heap 205 Pairing heap 210 Double-ended priority queue 213 Soft heap 218 Successors and neighbors 221 Binary search algorithm 221 Binary search tree 228 Random binary tree 238 Tree rotation 241 Self-balancing binary search tree 244 Treap 246 AVL tree 249 Red–black tree 253 Scapegoat tree 268 Splay tree 272 Tango tree 286 Skip list 308 B-tree 314 B+ tree 325 Integer and string searching 330 Trie 330 Radix tree 337 Directed acyclic word graph 339 Suffix tree 341 Suffix array 346 van Emde Boas tree 349 Fusion tree 353 References Article Sources and Contributors 354 Image Sources, Licenses and Contributors 359 Article Licenses License 362 1 Introduction Abstract data type In computing, an abstract data type (ADT) is a mathematical model for a certain class of data structures that have similar behavior; or for certain data types of one or more programming languages that have similar semantics.