Есть два свойства которые определяют дерево: 1. Все узлы графа соединены рёбрами. Для каждой пары вершин есть путь соединяющий их
2. Граф не содержит циклов. Есть только один путь между любыми двумя вершинами...
Перевод статьи подготовлен для студентов курса «Алгоритмы для разработчиков» в образовательном проекте OTUS. Я хотел начать эту серию статей со структуры данных, с которой все мы как разработчики, хорошо знакомы, но вполне возможно, что даже не представляем как она устроена.
«Направленный ациклический граф? Никогда об этом не слышал. Не думай, что все обо мне знаешь!», вы можете сказать, но именно этот граф делает возможным контроль версий. Да, Git представляет из себя ациклический граф. В этой...