Графы превратились в невероятно сильное средство моделирования и получения данных из соцсетей, веб-страниц и ссылок, а также определения местоположения и маршрутов в GPS. Любой набор объектов, которые связаны друг с другом, можно сейчас представить с помощью графа...
Если не знаешь чем граф отличается от дерева - вот короткий пост со свойствами дерева. Depth-first-search с использованием Adjacency List В задачах на программирование граф представлен неудобно, обычно в виде массива рёбер или вершин. Для графа на рисунке 1, такое представление может выглядеть как [ [0,1], [0,2], [0,3], [1,4] ] Первое что нужно сделать - преобразовать такой массив в формат с которым удобно работать. Одним из вариантов является AdjacencyList Затем к полученной структуре нужно применить Depth-first-search модифицированный под конкретную задачу...