Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 22.10.12 Prihlásený: 21.10.15 Príspevky: 18 Témy: 5 | 5 |
Zdravím vedeľ by mi niekto pomôcť, ako vytvoriť ohodnotený orientovaný graf v C? Niečo mám napísané ale potreboval by som aby každý vrchol mal svoju váhu a aj funkciu (čo predstavuje) Mám niečo takéto Kód: struct Hrana { int from, to; // vrcholy od, do int length; // dlzka };
struct Graf { int n; // pocet vrcholov struct Hrana *a; // hrany int m; // pocet hran };
struct Graf *create(int n, int m) { struct Graf *g = (struct Graf *)malloc(sizeof(struct Graf)); g->n = n; g->m = m; g->a = (struct Hrana *)malloc(m * sizeof(struct Hrana)); return g; }
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
Coho graf chces vytvorit? Ak chces vahy vrcholov tak si urob dalsie pole, kde budu vahy pre jednotlive vrcholy. Alebo si urob strukturu PopisVrchola kde bude vaha a popis funkcie daneho vrchola a urobis si zase pole.
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 22.10.12 Prihlásený: 21.10.15 Príspevky: 18 Témy: 5 | 5 |
Dostanem takýto vstup Kód: 6 0 1 100 1 4 10 1 1 50 1 5 20 2 2 200 2 4 40 5 40 3 2 50 1 4 5 4 0 20 4 5 10 0 20 2 10 3 10 5 0 30 3 1 30 2 20 4 20 kde prve cislo je pocet vrcholov a potom v kazdom riadku je cislo vrcholu, funkcia vrcholu, váha vrcholu, počet hrán, s akým vrcholom je spojený a aká je hodnota hrany. a potom za použitia dijskrovho algoritmu musím nájsť najkratšiu cestu z funkcie 1 do funkcie 2
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
Cize musis najst najkratsiu cestu z lubovolneho vrcholu, ktoreho funkcia je 1 do ineho lubovolneho vrcholu, ktoreho funkcia je 2?
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 22.10.12 Prihlásený: 21.10.15 Príspevky: 18 Témy: 5 | 5 | |
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
V tom pripade by bol lepsi Floyd Warshallov algoritmus, ktory najde najkratsie cesty z kazdeho vrcholu do kazdeho ineho. Jeho vyhoda je tiez, ze je velmi lahky na implementaciu. Zalezi, ale aky velky je vstup, pretoze casova narocnost tohto algoritmu je O( (pocet vrcholov) ^ 3 ). Tiez potrebujes maticu susednosti, lebo on pracuje s nou cize pamatova zlozitost bude O( (pocet vrcholov) ^ 2 ). Potom ako prejde tento algoritmus uz len prejdes tabulku a najdes dvojicu, ktora sa bude skladat z vrcholu s 1 a druhy s 2 a najkratsou dlzkou.
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 22.10.12 Prihlásený: 21.10.15 Príspevky: 18 Témy: 5 | 5 |
No ja potrebujem počítať s najhoršou časovou náročnosťou O(počet hrán * log(počet vrcholov)) preto tam musím použiť dijkstru
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
Tak a kde je problem? Na nete je kopa kodov Dijkstra algoritmu resp co nevies urobit?
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Registrovaný: 22.10.12 Prihlásený: 21.10.15 Príspevky: 18 Témy: 5 | 5 |
No neviem napisat spravne ten graf a potom ze co vseetko budem hladat s dijkstrom
|
|
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 | 88 Bydlisko: 00100100 |
Nacitas si graf a potom vykonas dijkstru, pozri si nejake vysvetlenia na nete napr tu je pekne http://www.algoritmy.net/article/5108/D ... algoritmus. Na nete je kopa hotovych kodov kde sa mozes inspirovat.
_________________ Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-) |
|
Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v nVidia grafické karty | 5 | 545 | 28.09.2015 21:59 liqua1 | | v Assembler, C, C++, Pascal, Java | 5 | 794 | 08.07.2014 20:40 XOLOO | | v Ponuka práce | 0 | 1364 | 10.05.2016 14:59 evolvsys | | v Kúpim | 0 | 462 | 13.05.2014 18:16 expresado | | v Počítačové hry | 10 | 1294 | 07.03.2007 19:22 Spirit | | v Assembler, C, C++, Pascal, Java | 18 | 2473 | 21.05.2010 21:08 Wpegb | | v Assembler, C, C++, Pascal, Java | 4 | 619 | 20.07.2010 12:54 walther | | v Assembler, C, C++, Pascal, Java | 17 | 1195 | 25.09.2011 18:14 reDo | | v Assembler, C, C++, Pascal, Java | 8 | 2006 | 19.02.2011 22:46 vendo2 | | v Vymením a darujem | 0 | 480 | 01.04.2019 11:20 tomasteicher | | v Ponuka práce | 1 | 607 | 24.10.2016 15:28 michalesku | | v Assembler, C, C++, Pascal, Java | 1 | 423 | 20.03.2015 22:36 walther | | v Assembler, C, C++, Pascal, Java | 7 | 592 | 02.11.2012 18:47 MasterMatoSK | | v Assembler, C, C++, Pascal, Java | 2 | 349 | 09.12.2012 10:43 nBXXL | | v ATI/AMD grafické karty | 17 | 1519 | 26.12.2013 11:38 walther | | v Assembler, C, C++, Pascal, Java | 2 | 874 | 12.03.2009 12:08 Svjatogor |
|