В этой главе представлены некоторые классические алгоритмы обработки графов и приведены примеры их использования. Алгоритмы на графах тра­диционно относятся к наиболее сложным алгоритмам, в этой области было получено много интересных результатов. Большое количество литературы посвящено описаниям этих алгоритмов, достаточно упомянуть такие фунда­ментальные работы, как [1], [7] и [8]. В нашу задачу не входит глубокий ана­лиз этих алгоритмов, мы даже не будем пытаться находить во всех случаях оптимальные решения. Задача этой главы состоит в том, чтобы определить, как выбранное представление данных влияет на выбор алгоритмов, и, кроме того, интересно посмотреть, как реализуются классические алгоритмы на языке C++ с применением современных технологий создания программ.