Skip to main content

1984 | Buch

Data Structures and Algorithms 2

Graph Algorithms and NP-Completeness

verfasst von: Prof. Dr. Kurt Mehlhorn

Verlag: Springer Berlin Heidelberg

Buchreihe : Monographs in Theoretical Computer Science. An EATCS Series

insite
SUCHEN

Inhaltsverzeichnis

Frontmatter
IV. Algorithms on Graphs
Abstract
In this chapter we treat efficient algorithms for many basic problems on graphs: topological sorting and transitive closure, connectivity and biconnectivity, least cost paths, least cost spanning trees, network flow problems and matching problems and planarity testing.
Kurt Mehlhorn
V. Path Problems in Graphs and Matrix Multiplication
Abstract
In this chapter we concentrate on path problems in graphs. Typical examples are the problems of computing shortest or longest paths or computing the k shortest path between all pairs of points in a graph. The best known algorithms for these problems differ only slightly. In fact, they are all special cases of an algorithm for solving general path problems on graphs. General path problems over closed semi-rings and Kleene’s algorithm for solving them are dealt with in section 1, special cases are then treated in section 2. The algebraic point of view allows us to formulate the connection between general path problems and matrix multiplication in an elegant way: Matrix multiplication in a semi-ring and solution of a general path problem have the same order of complexity. In section 4 we consider fast algorithms for multiplication of matrices over a ring. This is then applied to boolean matrices. Section 7 contains a lower bound on the complexity of boolean matrix product.
Kurt Mehlhorn
VI. NP-Completeness
Abstract
The CLIQUE problem is as follows: Input is an undirected graph G = (V,E) with n nodes and an integer k. The question is to decide whether the complete graph on k nodes is a subgraph of G, i.e. whether there is V′ ⊆ V, │V′│ = k such that (u,v) ∈ E for all u,v ∈ V′. There is a trivial, but inefficient algorithm to solve the CLIQUE problem. Run through all subsets V′ ⊆ V of cardinality k and check whether V′ induces a complete graph. There are \(\left( {\begin{array}{*{20}{c}} n \\ k \\ \end{array} } \right)\) sets V′ with k elements. Thus our simple algorithm checks \(\left( {\begin{array}{*{20}{c}} n \\ {n/2} \\ \end{array} } \right) \geqslant {2^n}/\left( {n + 1} \right)\) ≥ 2n/(n+1) subsets in the case k = n/2. It is simple to check a subset V′ for the clique property; time n will certainly suffice, and one time unit is certainly required. We conclude that our naive algorithm has running time at least 2n/(n+1). Before we can state that this is inefficient, we have to define problem size. We assume throughout this chapter, that combinatorial objects, i.e. graphs, integers, sets,…, are coded over a finite alphabet in some “natural way”. More precisely, we assume that graphs are coded by their adjacency matrix, i.e. a graph G with n nodes is coded by a bitstring of length n2, the entries of the matrix in row major order. Integers are always written in binary and sets are specified by listing their elements in some order. In this way a problem instance of the clique problem is a bistring of length n2 + log(n/2) + 1, again assuming k = n/2 for simplicity.
Kurt Mehlhorn
IX. Algorithmic Paradigms
Abstract
There are basically two ways for structuring a book on data structures and algorithms: problem or paradigm oriented. We have mostly followed the first alternative because it allows for a more concise treatment. However, at certain occassions (e.g. section VIII.4 on the sweep paradigm in computational geometry) we have also followed the second approach. In this last chapter of the book we attempt to review the entire book from the paradigm oriented point of view.
Kurt Mehlhorn
Backmatter
Metadaten
Titel
Data Structures and Algorithms 2
verfasst von
Prof. Dr. Kurt Mehlhorn
Copyright-Jahr
1984
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-69897-2
Print ISBN
978-3-642-69899-6
DOI
https://doi.org/10.1007/978-3-642-69897-2