[ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.10.12
Prihlásený: 21.10.15
Príspevky: 18
Témy: 5 | 5
NapísalOffline : 13.12.2014 18:27 | [C] Ohodnoteny graf

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;
}


Offline

Užívateľ
Užívateľ
[C] Ohodnoteny graf

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88 | 88
Bydlisko: 00100100
NapísalOffline : 14.12.2014 9:20 | [C] Ohodnoteny graf

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!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.10.12
Prihlásený: 21.10.15
Príspevky: 18
Témy: 5 | 5
Napísal autor témyOffline : 14.12.2014 13:24 | [C] Ohodnoteny graf

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


Offline

Užívateľ
Užívateľ
[C] Ohodnoteny graf

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88 | 88
Bydlisko: 00100100
NapísalOffline : 14.12.2014 13:32 | [C] Ohodnoteny graf

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!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.10.12
Prihlásený: 21.10.15
Príspevky: 18
Témy: 5 | 5
Napísal autor témyOffline : 14.12.2014 13:43 | [C] Ohodnoteny graf

Ano presne tak


Offline

Užívateľ
Užívateľ
[C] Ohodnoteny graf

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88 | 88
Bydlisko: 00100100
NapísalOffline : 14.12.2014 14:57 | [C] Ohodnoteny graf

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!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.10.12
Prihlásený: 21.10.15
Príspevky: 18
Témy: 5 | 5
Napísal autor témyOffline : 14.12.2014 15:10 | [C] Ohodnoteny graf

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


Offline

Užívateľ
Užívateľ
[C] Ohodnoteny graf

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88 | 88
Bydlisko: 00100100
NapísalOffline : 14.12.2014 15:28 | [C] Ohodnoteny graf

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!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 22.10.12
Prihlásený: 21.10.15
Príspevky: 18
Témy: 5 | 5
Napísal autor témyOffline : 14.12.2014 15:30 | [C] Ohodnoteny graf

No neviem napisat spravne ten graf a potom ze co vseetko budem hladat s dijkstrom


Offline

Užívateľ
Užívateľ
[C] Ohodnoteny graf

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88 | 88
Bydlisko: 00100100
NapísalOffline : 14.12.2014 15:44 | [C] Ohodnoteny graf

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!
;-)
 [ Príspevkov: 10 ] 


[C] Ohodnoteny graf



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Vymena graf karty za novu graf kartu

v nVidia grafické karty

5

545

28.09.2015 21:59

liqua1

V tomto fóre nie sú ďalšie neprečítané témy.

Mám sa učiť C ++/objective C/ C#?

v Assembler, C, C++, Pascal, Java

5

794

08.07.2014 20:40

XOLOO

V tomto fóre nie sú ďalšie neprečítané témy.

Hledá se programátor C/C++ pro vesmírné projekty (Praha)

v Ponuka práce

0

1364

10.05.2016 14:59

evolvsys

V tomto fóre nie sú ďalšie neprečítané témy.

K: PC Literaturu- C++/C#/java/python/ruby/RoR

v Kúpim

0

462

13.05.2014 18:16

expresado

V tomto fóre nie sú ďalšie neprečítané témy.

Hladam hracov na C&C Generals Zero Hour

v Počítačové hry

10

1294

07.03.2007 19:22

Spirit

V tomto fóre nie sú ďalšie neprečítané témy.

Naučte se C++ za 21 dní + C++Builder 6

v Assembler, C, C++, Pascal, Java

18

2473

21.05.2010 21:08

Wpegb

V tomto fóre nie sú ďalšie neprečítané témy.

rozdiel medzi Borland 3.1 C++ vs Net. C++

v Assembler, C, C++, Pascal, Java

4

619

20.07.2010 12:54

walther

V tomto fóre nie sú ďalšie neprečítané témy.

Čo mi treba na programovanie v C/C++

v Assembler, C, C++, Pascal, Java

17

1195

25.09.2011 18:14

reDo

V tomto fóre nie sú ďalšie neprečítané témy.

aky je rozdiel medzi C++ a Visual C++ ?

v Assembler, C, C++, Pascal, Java

8

2006

19.02.2011 22:46

vendo2

V tomto fóre nie sú ďalšie neprečítané témy.

Darujem knihy o programovaní (HTML, Java, Visual C++, C++ Builder, Android)

v Vymením a darujem

0

480

01.04.2019 11:20

tomasteicher

V tomto fóre nie sú ďalšie neprečítané témy.

Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017

v Ponuka práce

1

607

24.10.2016 15:28

michalesku

V tomto fóre nie sú ďalšie neprečítané témy.

C# alebo C++ appka/program na výpočty

v Assembler, C, C++, Pascal, Java

1

423

20.03.2015 22:36

walther

V tomto fóre nie sú ďalšie neprečítané témy.

C - Ako prekompilovať .c súbor do .exe?

v Assembler, C, C++, Pascal, Java

7

592

02.11.2012 18:47

MasterMatoSK

V tomto fóre nie sú ďalšie neprečítané témy.

C/C++ problém so súbormi a hodnotami

v Assembler, C, C++, Pascal, Java

2

349

09.12.2012 10:43

nBXXL

V tomto fóre nie sú ďalšie neprečítané témy.

Ako nastavit grafikuv AMD catalyst c.c.

v ATI/AMD grafické karty

17

1519

26.12.2013 11:38

walther

V tomto fóre nie sú ďalšie neprečítané témy.

program na projekt (C#, C++, pascal, java)

v Assembler, C, C++, Pascal, Java

2

874

12.03.2009 12:08

Svjatogor



© 2005 - 2024 PCforum, edited by JanoF