Graph Iterators: Decoupling Graph Structures from Algorithms
Marco Nissen

TL;DR
This paper proposes a novel approach to implementing graph algorithms by decoupling graph structures from algorithms, inspired by software engineering principles to improve reusability and efficiency.
Contribution
It introduces a new framework for graph algorithm implementation that enhances reusability by separating graph data structures from algorithms, inspired by software engineering practices.
Findings
New data structures for graph algorithms are introduced.
Implementation of maximum cardinality matching for general graphs.
Techniques in C++ for efficient data structure and algorithm implementation.
Abstract
I will present a way to implement graph algorithms which is different from traditional methods. This work was motivated by the belief that some ideas from software engineering should be applied to graph algorithms. Re-usability of software is an important and difficult problem in general, and this is particularly true for graph algorithms. The scientific literature demonstrates plenty of applications of graph algorithms as subroutines for other algorithms. Moreover, many practical problems from various domains may be modeled as graph problems and hence solved by means of graph algorithms. Chapter 2 introduces some data structures that will be used in 5 basic graph algorithms in chapter 3. Chapter 4 discusses an implementation of a maximum cardinality matching algorithm for general graphs. Chapter 5 explains some techniques in C++, which are useful to implement the data structures and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGraph Theory and Algorithms · Parallel Computing and Optimization Techniques · Interconnection Networks and Systems
