Wyzwanie końcowe nr 1
Lekcja 8 z 9 w kursie Algorytm Bellmana-Forda — algorytmy grafowe w Coddy.
Wyzwanie
ŚredniSupermocą algorytmu Bellmana-Forda jest wykrywanie ujemnych cykli.
Napisz funkcję o nazwie hasNegativeCycle, która przyjmuje n oraz płaską tablicę edges (trójki, krawędzie skierowane) i zwraca 1, jeśli graf zawiera cykl o ujemnej wadze, lub 0 w przeciwnym razie.
Podpowiedź: ustaw początkowo każdą odległość na 0, rozluźnij wszystkie krawędzie n - 1 razy, a następnie wykonaj jeszcze jeden przebieg. Jeśli nadal można rozluźnić dowolną krawędź, istnieje ujemny cykl.
Spróbuj swoich sił
#include <stdlib.h>
int hasNegativeCycle(int n, int* edges, int edges_size) {
// Wpisz kod tutaj
return -1;
}
Wszystkie lekcje w sekcji Algorytm Bellmana-Forda — algorytmy grafowe
Poćwicz samodzielnie: Kompilator C online