ABSTRACT

Graphs, together with trees, count among the most useful mathematical abstractions and, at the same time, the most common combinatorial structures in computer science and computational biology. Basic notions underlying combinatorial algorithms on graphs, such as counting, generation, and traversal algorithms, as well as appropriate data structures for the representation of graphs, are the subject of this introductory chapter.