На этом шаге мы приведем постановку задачи.
Hyperloop - настолько быстрый транспорт, что для оптимизации времени в пути между станциями, вероятно, расстояние между ними имеет гораздо меньшее значение, чем то, сколько прыжков потребуется (сколько станций придется посетить), чтобы добраться от одной станции до другой. Каждая станция может означать задержку, поэтому, как и при полетах на самолете, чем меньше остановок, тем лучше.
В теории графов множество ребер, соединяющих две вершины, называется путем. Другими словами, путь - это способ перехода от одной вершины к другой. В контексте сети Hyperloop набор труб (ребер) представляет собой путь из одного города (вершины) в другой (другая вершина). Поиск оптимальных путей между вершинами является одной из наиболее распространенных задач, для которых используются графы.
Неформально мы также можем представить как путь список вершин, последовательно соединенных друг с другом ребрами. Такое описание - это, в сущности, другая сторона той же монеты. Это все равно что взять список ребер, выяснить, какие вершины они соединяют, сохранить список вершин и отбросить ребра. В следующем кратком примере мы найдем список вершин, соединяющий два города в сети Hyperloop.
На следующем шаге мы пересмотрим алгоритм поиска в ширину.