Информатика • 11 класс
21

Количество различных путей между вершинами ориентированного ациклического графа (Python)

  • Ациклический граф (DAG граф, в котором нет циклов (невозможно, выйдя из вершины, вернуться в неё, двигаясь по стрелкам).
  • Задача. Посчитать количество путей из вершины start в вершину end в ориентированном ациклическом графе (DAG).
    • Алгоритм решения через динамическое программирование.
      • Инициализация. Создать массив dp, где dp [u]  количество путей из вершины u в end.
      • Базовый случай. dp [end] = 1.
      • Рекуррентность. Для всех вершин u (в обратном топологическом порядке): dp [u] = sum (dp [v] for v in neighbors [u])
        где существует ребро u → v.
      • Ответ: dp [start].
    • Ключевые моменты:
      • граф без циклов → порядок обхода важен;
      • эффективно использовать топологическую сортировку;
      • сложность: O (N + M), где N  число вершин, M  рёбер.
Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»
Логотип облако знаний
+7 (499) 322-07-57
info@oblakoz.ru

Контактный центр

МО, г. Долгопрудный,
Лихачевский проезд, 4, стр. 1

Отдел заботы о пользователях

Политика конфиденциальности

© ООО «Физикон Лаб», 2026

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪