Graph theory provides the mathematical language for reasoning about discrete structures, from molecules to social networks to circuit layouts. Notes in this section cover algorithms for core graph problems: isomorphism testing, canonical labeling, automorphism group computation, and related combinatorial techniques. These methods are foundational to applications in cheminformatics (molecular canonicalization), hardware verification (symmetry breaking), and machine learning (graph neural networks and the Weisfeiler-Leman hierarchy).