Программу для нахождения кратчайшего пути скачать

Программу для нахождения кратчайшего пути

Программу для нахождения кратчайшего пути.
БлогNot. C++: поиск кратчайшего пути на графе. C++: поиск кратчайшего пути на графе. Поиск пути на гр а фе - одна из самых распространённых проблем при реализации как серьёзных задач, так и игровых приложений. Приведу небольшой учебный пример того, как решить эту задачу максимально просто, то есть, рекурсивно :) Граф представляет собой сеть из узлов-"городов" и соединяющих их путей-"дорог", при этом каждая "дорога" может иметь свой вес, соответствующий "расстоянию" между узлами, ну или "стоимости перевозки" между ними.

Например, изображённый без весов граф может быть таким (все веса приняты за единицу): Для описания одного пути подходит описанная в программе простая структура item , а весь граф - это просто массив map , состоящий из элементов item . Ещё проще было бы разместить всю информацию в матрице A размером n*n ( n = числу узлов графа), каждый ненулевой элемент которой A i,j соответствует весу пути из i-ой вершины в j-ую, но большинство элементов в такой матрице будут нулями, и она мне кажется избыточной. Вот консольная реализация для Visual Studio 2010 или выше: 1. Нумерация узлов сделана с нуля, как принято в C++; 2. Если искомых путей с одинаковым общим весом len несколько, будет возвращён тот, что найден первым при лексикографическом (по номерам) порядке обхода вершин, например, 4-5-6, но не 4-7-6; 3. В тесте все веса одинаковы и равны 1, но должно работать и при разных;

4. Все пути предполагаются двусторонними, то есть, если есть дорога из i в j , то она есть и имеет тот же вес и из j в i . Если это не так, измените логику метода find : 15.06.2015, 10:31; рейтинг: 16196.

Скачать:


  • Программу для нахождения кратчайшего пути

  • Программу для нахождения кратчайшего пути
  • Популярные авторы: