Kezdőoldal » Számítástechnika » Programozás » Mi történik ha a Dijkstra...

Mi történik ha a Dijkstra algoritmusban a kezdő csúcsnak nincs szomszédja?

Figyelt kérdés
2017. ápr. 22. 20:19
 1/7 anonim ***** válasza:
Véget ér.
2017. ápr. 22. 20:21
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
Köszi. És akkor is, ha sorból kivett i. csúcsnak sincs szomszédja? Akkor is leáll.
2017. ápr. 22. 20:31
 3/7 anonim ***** válasza:

Kezdő csúcsnak nincs szomszédja: Izolált csúcs, a többi pont ne érhető el. Az algoritmus újraindítható egy másik komponensből.


Ha valahol közben fordul elő, akkor a komponens összes csúcsa fel van használva, amiből a többi komponens nem érhető el. Az algoritmus újraindítható egy másik komponensből.

2017. ápr. 23. 09:57
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
A gráfnak összefüggőnek kell lennie?
2017. ápr. 23. 10:50
 5/7 anonim ***** válasza:
Izolált gráfok között milyen utat szeretnél keresni?
2017. ápr. 23. 11:41
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:

Csak szeretném minél korrektebben specifikálni a feladot. Mert ezek nekem a pseudo kód alapján nem derültek ki. Mindig kivesszük a sorból a megfelelő elemet, oké. De mi van akkor, ha az i. lépésben a sorban szereplő csúcsok mindegyikének végtelen a távolsága a kezdőcsúcshoz képest?


Igazából nyilván a leprogramozása miatt kérdezem ezeket, hogy minél korrektebb legyen a program és a kód. Mert nyilván végtelenek nem tudok ábrázolni, legfeljebb a legnagyobb ábrázolható számot.


Vagy olyan állapotba nem is juthatok el, hogy a sorban már csak olyan csúcsok vannak, amelyeknek végtelen a távolságuk a kezdőponthoz képest?


Egyetemen nem tanultam ezekről és a pseudkód alapján tudok tájékozódni. Konkrétan az angol wiki-n lévő, de máshol is ilyet láttam. Csak tényleg, én a pseudkódban azt látom, hogy ebben az esetben ez egy végtelen ciklus. Vagy ki lehet venni a végtelennel rendelkezőeket is?


És erre hogy lenne korrekt felkészíteni a programot? Alapból csak összefüggő gráfokra fusson le, vagy fusson és ha ilyennel találkozik akkor álljon meg?

2017. ápr. 23. 12:01
 7/7 anonim ***** válasza:

"De mi van akkor, ha az i. lépésben a sorban szereplő csúcsok mindegyikének végtelen a távolsága a kezdőcsúcshoz képest?"


Az algoritmus a Q halmazból (itt most az angol wikis jelölésrendszert használom) mindig azt a csúcsot szedi ki, amire a dist érték a legkisebb. Ha több legkisebb távolságú csúcs van, akkor tulajdonképpen választ egyet véletlenszerűen. Ha egy olyan állapotba kerülünk, ahol már minden dist érték végtelen (azaz a komponensen belül már nincs csúcs), akkor a legkisebb dist érték a végtelen, így kiválaszt véletlenszerűen egy csúcsot és folytatja tovább az algoritmust, csak véges szám helyett végtelennel kell számolni, és a végén néhol elő fognak fordulni végtelen értékek. Így minden elem ki lesz véve előbb-utóbb a Q halmazból és nem fog végtelen ciklusba kerülni az program.

2017. ápr. 26. 16:11
Hasznos számodra ez a válasz?

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!