Ответ
Граф — это структура данных, состоящая из узлов (вершин) и связей между ними (рёбер). Графы используются для моделирования отношений между объектами, например, социальных сетей, маршрутов в картах или зависимостей в проектах.
Типы графов:
- Ориентированные — рёбра имеют направление (A → B ≠ B → A).
- Неориентированные — рёбра без направления (A—B = B—A).
- Взвешенные — рёбрам присвоены значения (например, стоимость пути).
Пример на Go:
type Graph struct {
vertices map[int][]int // вершина -> список смежных вершин
}
func (g *Graph) addEdge(src, dest int) {
g.vertices[src] = append(g.vertices[src], dest)
}
func main() {
g := Graph{vertices: make(map[int][]int)}
g.addEdge(1, 2)
g.addEdge(2, 3)
}