Hogyan lehet gráfokat definiálni egy programban?
Sziasztok!
Itt kaptam egy ilyen segítséget:
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
Így utánanéztem, hogy pontosan mik is ezek a gráfok stb, mert ilyeneket még nem igazán tanultunk, viszont azt se tudom, hogy hogyan tudok definiálni egy pl: 3 pontból álló gráfot kódban.
Vki tud segíteni?
Én írtam a Dijkstra algoritmust a másik kérdésedben :)
Szerintem mivel te egy egyszerű 10*10-es táblát akarsz modellezni, ehhez nem kellenek gráfok. Inkább csinálsz egy 10 elemű tömböt, aminek minden eleme szintén egy 10 elemű tömb, így tomb[x][y]-al tudsz hivatkozni az x-edik sor y-adik oszlopra. Annak eldöntése, hogy vezet-e út a gráfban itt annyi, hogy meg kell nézni, hogy szomszédos mező-e, és ha igen nincs-e rajta akadály.
Ha átlósan nem mehetsz, akkor ugye csak 4 szomszédos mező lehet max: x,y-1 x,y+1 x-1,y x+1,y
Annyi ellenőrzés kell bele, hogy ezek 1 és 10 között vannak-e (azaz nem a szélén vagyunk, mert akkor kapnál egy tömb indexelési hibát).
Remélem tudtam segíteni.
Pluszba infó: A gráfokat mátrixokba írhatod, így programozás során ahogy előttem mondták, tömbbe.
Két fajta egyszerű mátrixot javaslok:
Szomszédsági mátrix: Ehhez nem találtam érthető magyarázatot neten, de kb így kell felírni:
az éleket halmazba rakod először: 1. él mondjuk az 1-es és 2-es ponthoz kapcsolódik a 2. él a 2-es és 3-as ponthoz kapcsolódik. Ez után a mátrix i. és j. elemére meg kell nézned , hogy a i,j pár eleme-e az élek halmazának ha igen 1, ha nem 0
Az előbb említett példából:
Él_halmaz=(1,2);(2,3)
A mátrix: Megnézed i , jre : 1,1 van? Nincs akkor
0, 1,2 van? Van akkor 1 , 1,3 van? nincs akkor 0 és így tovább... Ha megy akkor ilyet kell kapnod:
010
001
Szóval ezzel egyszerűen egy 2D-s tömbbe le"kódolhatod" a gráfod
Illeszkedési mátrix: [link] Ehhez van jó magyarázat
kvadratikus mátrix kell neked, és ráadásul...
ez az önmagával vett N-szeres direkt szorzata..
az azt mondja hogy.. matrix(n,n).
innentől egy ciklus.
na jó, ha nem vagyunk zsenik akkor két ciklus..
Üdv.: N. Dáv. Táo.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!