Kezdőoldal » Tudományok » Alkalmazott tudományok » A Bellman-Ford algoritmust...

A Bellman-Ford algoritmust miért kell csúcsszámszor végrehajtani?

Figyelt kérdés

Végigmegyek az összes élen előzetes számozás szerint, és aztán ezt megismétlem annyiszor, ahány csúcs van.

De miért?


2016. jún. 11. 18:22
 1/2 anonim ***** válasza:

Nem tudom, hogy hogyan tanultátok az algoritmust, de ezek szerint nem értetted meg, hogy mi történik.

Tehát tegyük fel, hogy adva van egy s csúcs, és az s-ből keresel egy legolcsóbb utat t-be (vagy az összes v csúcsba, hiszen az algoritmus mindegyikre megadja a választ).

Az i-edik fázisban (fázis = amikor egyszer végigmész az éleken) azt számolod ki minden v csúcsra, hogy a max i élű sv-séták közül melyik a legolcsóbb. Értelemszerűen minél több élet engedsz meg, annál több lehetséges séta közül kell venni a minimumot, tehát simán lehet, hogy az i+1-edik fázisban már jobbat kapsz.

Azért kell csúcsszámszor csinálni ezt, mert ha konzervatív élsúlyozás volt, akkor az algoritmus addigra már megtalálja a legolcsóbb utakat mindenhova, ha meg volt negatív kör, akkor addigra biztosan talál egyet.

2016. jún. 11. 18:53
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
Közben rájöttem, de szépen leírtad. Köszi :)
2016. jún. 11. 19:00

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!