| | |
| 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 |
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 Bydlisko: 00100100 | Napísal reDo: 14.12.2014 9:20 | |
|
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 |
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 Bydlisko: 00100100 | Napísal reDo: 14.12.2014 13:32 | |
|
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 | |
Registrovaný: 08.03.09 Prihlásený: 06.10.20 Príspevky: 1116 Témy: 88 Bydlisko: 00100100 | Napísal reDo: 14.12.2014 14:57 | |
|
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 |
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 Bydlisko: 00100100 | Napísal reDo: 14.12.2014 15:28 | |
|
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 |
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 Bydlisko: 00100100 | Napísal reDo: 14.12.2014 15:44 | |
|
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 |
---|
| Vymena graf karty za novu graf kartu v nVidia grafické karty | 5 | 491 | 28.09.2015 21:59 liqua1 | | Mám sa učiť C ++/objective C/ C#? v Assembler, C, C++, Pascal, Java | 5 | 731 | 08.07.2014 20:40 XOLOO | | Hladam hracov na C&C Generals Zero Hour v Počítačové hry | 10 | 1250 | 07.03.2007 19:22 Spirit | | Naučte se C++ za 21 dní + C++Builder 6 v Assembler, C, C++, Pascal, Java | 18 | 2413 | 21.05.2010 21:08 Wpegb | | K: PC Literaturu- C++/C#/java/python/ruby/RoR v Kúpim | 0 | 410 | 13.05.2014 18:16 expresado | | rozdiel medzi Borland 3.1 C++ vs Net. C++ v Assembler, C, C++, Pascal, Java | 4 | 576 | 20.07.2010 12:54 walther | | Hledá se programátor C/C++ pro vesmírné projekty (Praha) v Ponuka práce | 0 | 1123 | 10.05.2016 14:59 evolvsys | | Čo mi treba na programovanie v C/C++ v Assembler, C, C++, Pascal, Java | 17 | 1146 | 25.09.2011 18:14 reDo | | aky je rozdiel medzi C++ a Visual C++ ? v Assembler, C, C++, Pascal, Java | 8 | 1964 | 19.02.2011 22:46 vendo2 | | Darujem knihy o programovaní (HTML, Java, Visual C++, C++ Builder, Android) v Vymením a darujem | 0 | 430 | 01.04.2019 11:20 tomasteicher | | Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017 v Ponuka práce | 1 | 552 | 24.10.2016 15:28 michalesku | | C - Ako prekompilovať .c súbor do .exe? v Assembler, C, C++, Pascal, Java | 7 | 555 | 02.11.2012 18:47 MasterMatoSK | | C/C++ problém so súbormi a hodnotami v Assembler, C, C++, Pascal, Java | 2 | 310 | 09.12.2012 10:43 nBXXL | | program na projekt (C#, C++, pascal, java) v Assembler, C, C++, Pascal, Java | 2 | 833 | 12.03.2009 12:08 Svjatogor | | C# alebo C++ , ktore knizky na ucenie? v Assembler, C, C++, Pascal, Java | 20 | 1793 | 12.02.2011 0:12 The | | Ako nastavit grafikuv AMD catalyst c.c. v ATI/AMD grafické karty | 17 | 1483 | 26.12.2013 11:38 walther |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|