Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet gráfokat definiál...

Hogyan lehet gráfokat definiálni egy programban?

Figyelt kérdés

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?


2011. jún. 24. 15:37
 1/3 anonim ***** válasza:

É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.

2011. jún. 24. 15:54
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

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

2011. jún. 24. 20:31
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

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.

2011. jún. 26. 00:33
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!