graph-algorithm- все статьи тега


Обнаружение циклов в матрице смежности

Пусть A - матрица смежности для графа G = (V,E). A(i,j) = 1 если узлы i и j связаны ребром, A(i,j) = 0 в противном случае. Моя цель-понять, является ли Gациклическим или нет. Цикл определяется следующим образом: i и j связаны: A(i,j) = 1 j и k связаны: A(j,k) = 1 k и i связаны: A(k,i) = 1 Я реализовал решение, которое перемещается по матрице следующим образом: начните с ребра (i,j) выберите множество O ребер, исходящих из j, то есть все 1 в j-й строке A навигация O в режиме DFS ...

Когда это практично, чтобы использовать поиском в глубину (DFS) и против поиска в ширину (поиск в ширину)?

Я понимаю различия между DFS и BFS, но мне интересно знать, когда более практично использовать один над другим? может ли кто-нибудь привести какие-либо примеры того, как DFS будет превзойти BFS и наоборот? ...

Отрицательные веса с использованием алгоритма Дейкстры

Я пытаюсь понять, почему алгоритм Дейкстры не работает с отрицательными весами. Читая пример на Кратчайших Путей, Я пытаюсь выяснить следующую ситуацию: 2 A-------B / 3 / -2 / C на сайте: предполагая, что ребра направлены слева направо, если мы начнем с помощью A алгоритм Дейкстры выберет минимизацию ребра (A, x) d(A,A)+Длина (край), а именно (A,B). Затем он устанавливает d (A,B)=2 и выбирает другой ребро (г,с) минимизации д(А,Г)+Д(Г,С); единственный выбор ( ...

* Алгоритм для очень больших графов, любые мысли о кэшировании ярлыков?

Я пишу моделирование курьера / логистики на картах OpenStreetMap и понял, что базовый алгоритм A*, как показано ниже, не будет достаточно быстрым для больших карт (например, Большого Лондона). зеленые узлы соответствуют тем, которые были помещены в очередь open set/priority, и из-за огромного количества (вся карта-это что-то вроде 1-2 миллионов), требуется 5 секунд или около того, чтобы найти изображенный маршрут. К сожалению, 100 МС на маршрут составляет около мой абсолютный предел. в насто ...