Шаг 35.
Алгоритмы.
Поиск в ширину. Основы

    На этом шаге познакомимся с графами.

    Поиск в ширину позволяет найти кратчайшее расстояние между двумя объектами. Однако сам термин "кратчайшее расстояние" может иметь много разных значений. Например, с помощью поиска в ширину можно:

    Одни из самых полезных алгоритмов, работают с графами. Предположим, вы находитесь в пункте А и хотите добраться в пункт В. Вы намереваетесь доехать на автобусе с минимальным количеством пересадок. Возможные варианты:


    Какой алгоритм использовать для поиска пути с наименьшим количеством шагов?

    Можно ли сделать это за один шаг? На следующем рисунке выделены все места, в которые можно добраться за один шаг.


    До пункта В невозможно добраться за один шаг.

    А можно ли добраться до него за два шага?


    И снова пункт В не выделен, а значит, до него невозможно добраться за два шага. Как насчет трех шагов?


    На этот раз пункт В выделен. Следовательно, чтобы добраться из пункта А в пункт В по этому маршруту, необходимо сделать три шага.


    Есть и другие маршруты, которые приведут вас в пункт В, но они длиннее (четыре шага). Алгоритм обнаружил, что кратчайший путь в пункт В состоит из трех шагов. Задача такого типа называется задачей поиска кратчайшего пути. Алгоритм для решения задачи поиска кратчайшего пути называется поиском в ширину.

    Чтобы найти кратчайший путь из A в В, нам пришлось выполнить два шага:

  1. Смоделировать задачу в виде графа.
  2. Решить задачу методом поиска в ширину.

    На следующем шаге продолжим знакомство с графами.




Предыдущий шаг Содержание Следующий шаг