[Algorytmy] Graf skierowany - wszystkie drogi
-
- Użytkownik
- Posty: 1922
- Rejestracja: 26 mar 2012, o 18:52
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 695 razy
- Pomógł: 4 razy
[Algorytmy] Graf skierowany - wszystkie drogi
Witam,
Mam graf skierowany, acykliczny i planarny. W jaki sposób mogę policzyć wszystkie drogi z wierzchołka \(\displaystyle{ s}\) do wierzchołka \(\displaystyle{ v}\)? Nic mi do głowy nie przychodzi.
Mam graf skierowany, acykliczny i planarny. W jaki sposób mogę policzyć wszystkie drogi z wierzchołka \(\displaystyle{ s}\) do wierzchołka \(\displaystyle{ v}\)? Nic mi do głowy nie przychodzi.
Ostatnio zmieniony 14 sie 2012, o 09:02 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
graf skierowany - wszystkie drogi
No to położenie tego drugiego wierzchołka decyduje o tym ile tych dróg będziemy mieli
-
- Użytkownik
- Posty: 1922
- Rejestracja: 26 mar 2012, o 18:52
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 695 razy
- Pomógł: 4 razy
graf skierowany - wszystkie drogi
Nie rozumiem. Wierzchołek docelowy będzie w innym miejscu niż \(\displaystyle{ S}\) (start). Będzie gdzieś indziej, potrzebuję teraz wiedzieć ile jest różnych dróg z \(\displaystyle{ S}\) do celu. Mogą drogi mieć powtórzone krawędzie, byle nie było idealnie te same. Tzn. na ile sposobów mogę tak przejść.
Ostatnio zmieniony 14 sie 2012, o 09:02 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
graf skierowany - wszystkie drogi
Nie rozumiesz, że położenie celu wpływa na to ile będzie takich dróg?
-
- Użytkownik
- Posty: 1922
- Rejestracja: 26 mar 2012, o 18:52
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 695 razy
- Pomógł: 4 razy
graf skierowany - wszystkie drogi
Rozumiem - nie ma nic w tym dziwnego.miodzio1988 pisze:Nie rozumiesz, że położenie celu wpływa na to ile będzie takich dróg?
Sugerujesz zatem abym znalazł zależność?
-
- Użytkownik
- Posty: 1358
- Rejestracja: 4 lip 2009, o 13:27
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 3 razy
- Pomógł: 222 razy
graf skierowany - wszystkie drogi
Zaczynasz od danego wierzchołka startowego i idziesz do jego wszystkich sąsiadów (wg skierowania krawędzi), od nich do następnych itd., za każdym razem przekazując powiększoną o jeden wierzchołek ścieżkę i sprawdzając, czy już nie byłeś w tym wierzchołku w tej ścieżce (żeby się nie zapętlać). Jeżeli ścieżka kończy się danym wierzchołkiem końcowym, to ją zapamiętujesz/drukujesz/co tam potrzebujesz.
Ot, taki szybki zarys algorytmu.
Ot, taki szybki zarys algorytmu.
-
- Użytkownik
- Posty: 132
- Rejestracja: 1 cze 2012, o 07:04
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Pomógł: 15 razy
graf skierowany - wszystkie drogi
Na początek wszędzie zero, a jeden w S
A teraz od dołu do góry, od lewej do prawej wstawiamy sumę wierzchołków które prowadzą do bieżącego.
A teraz od dołu do góry, od lewej do prawej wstawiamy sumę wierzchołków które prowadzą do bieżącego.
Kod: Zaznacz cały
0 --> 2 --> 7
^ ^
| |
1 --> 2 --> 5
^ ^ ^
| | |
1 --> 1 3
^ ^
| |
1 --> 2 --> 3
^ ^ ^
| | |
1 --> 1 --> 1
-
- Użytkownik
- Posty: 1922
- Rejestracja: 26 mar 2012, o 18:52
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 695 razy
- Pomógł: 4 razy
[Algorytmy] Graf skierowany - wszystkie drogi
Ok, pytanie czy sprawa bardzo się skomplikuje gdy krawędzie będę dwukierunkowe, ale tylko te które prowadzą w przód - będą również prowadziły w tył.
-
- Użytkownik
- Posty: 1358
- Rejestracja: 4 lip 2009, o 13:27
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 3 razy
- Pomógł: 222 razy
[Algorytmy] Graf skierowany - wszystkie drogi
W moim algorytmie się nic nie zmieni. Sprawdzanie kierunków krawędzi można całkowicie pominąć i po prostu przechodzić do wszystkich sąsiadów.