С данной статьи начнем разбирать тему графов и связанных с ними алгоритмов. Итак, Граф – это пара множеств V (англ. vertex) и E (англ. edge) где V – множество вершин E – множество неупорядоченных пар вершин из множества V (множество ребер) Граф может быть ориентированным (часто используют название «орграф»), неориентированным или смешанным. В ориентированном графе, ребра являются направленными (то есть пары в E являются упорядоченными, например, пары (a, b) и (b, a) это два разных ребра). В свою очередь в неориентированном графе, ребра ненаправленные, и поэтому если существует ребро (a, b) то значит, что существует и ребро (b, a). Смешанный граф содержит в себе как направленные, так и не направленные ребра. Кроме того, графы делятся на взвешенные и невзвешенные. Граф, в котором каждому ребру в соответствие поставлено некоторое числовое значение – вес, называется взвешенным графом. Если никакого числового значения рёбрам не поставлено, то граф называется невзвешенным. Обозначен