Trees and graphs count among the most useful mathematical abstractions and, at the same time, the most common combinatorial structures in computer science. Both the graph-theoretical notions underlying algorithms on trees and graphs and appropriate data structures for their representation are the subject of this chapter. Further, a brief primer of the literate programming style adopted in this book for the presentation of algorithms and data structures is included in this chapter, together with a brief exposition of the implementation correctness approach by result checking using correctness certificates. The reader who is not familiar with the LEDA library of efficient C++ data structures and algorithms is referred to Appendix A.
KeywordsUndirected Graph Complete Bipartite Graph Literate Programming Implementation Correctness Bibliographic Note
Unable to display preview. Download preview PDF.