Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Reprezentare grafuri recomandata  (Citit de 2325 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Harald
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« : Februarie 21, 2015, 14:09:50 »

Bună!

Care este cea mai recomandată formă de reprezentare a grafurilor pentru un concurs precum OJI? În momentul de față folosesc matricea de adiacență, însă nu este chiar economă din punct de vedere al memoriei pentru grafurile mari. De exemplu, dacă la concurs graful poate avea pana la 10.000 noduri, atunci matricea de adiacență (de tipul int) va ocupa aproximativ 200MB memorie, care depăsește cu mult limita de 64MB (asta dacă programul nu dă eroare la rulare din cauza matricei prea mari).

Ce formă de reprezentare îmi recomandați?

Mulțumesc anticipat!
Memorat
Owlree
Strain
*

Karma: 16
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #1 : Februarie 21, 2015, 15:06:06 »

De ce mai multe ori cea mai adecvată metodă este lista de adiacență.

Totuși, în unele cazuri, spre exemplu când știi că graful e destul de mic, sau că e dens, poate fi de preferat să folosești matricea.
Memorat
Harald
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #2 : Februarie 21, 2015, 15:13:41 »

Mulțumesc pentru răspuns! Am să încerc să mă obișnuiesc și cu lista de adiacență până la OJI.

Totuși, am văzut la multe din soluțiile trimise în arhiva de probleme că este folosit un vector din librăria cu același nume. Este doar o altă alternativă de scriere pentru lista de adiacență?
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #3 : Februarie 21, 2015, 16:18:09 »

Este doar o altă alternativă de scriere pentru lista de adiacență?
Da, te scuteste de implementarea manuala.
Memorat
Harald
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #4 : Februarie 21, 2015, 16:20:04 »

Am înțeles. Mulțumesc pentru clarificări!
Memorat
Owlree
Strain
*

Karma: 16
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #5 : Februarie 21, 2015, 19:21:05 »

Biblioteca vector are ceva mai multe aplicații decât folosirea în listele de adiacență. Încearcă să te documentezi mai mult despre ea, și în general despre ceva numit STL (Standard Template Library), îți va fi de mare ajutor la olimpiade.
Memorat
Harald
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #6 : Februarie 21, 2015, 20:43:07 »

Îți mulțumesc pentru sfat. M-am folosit de containerul queue pentru BFS, însă nu am avut ocazia până acum să mă acomodez și cu vector, însă asta am de gând să fac acum.

Mulțumesc încă odata.
Numai bine!
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines