Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 014 Parcurgere DFS - componente conexe  (Citit de 18917 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« : Martie 01, 2008, 15:38:36 »

Aici puteti discuta despre problema Parcurgere DFS - componente conexe.
Memorat
petre
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #1 : Martie 07, 2008, 18:19:16 »

de ce la testul 17 e raspuns 2?
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #2 : Martie 07, 2008, 19:06:46 »

Pai o explicatie stiintifica nu pot sa'ti dau, dar daca s'au luat punctaje de 100, pe aceleasi teste pe care ai luat tu 95, inseamna ca la testul 17 chiar sunt 2 componente conexe, de'aia raspunsul e 2.
Componentele sunt fomate din nodurile de la 1 la 99997 respectiv de la 99998 la 100000.
Memorat
petre
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #3 : Martie 07, 2008, 20:00:20 »

oricum testul 17 e gresit:
sunt 100000 de muchii,iar fisierul de intrare are 99999
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #4 : Martie 07, 2008, 23:09:58 »

Am modificat testul 17 si am reevaluat Smile.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #5 : Septembrie 15, 2008, 18:43:01 »

Am si eu o intrebare... stiu ca e putin ciudata, da' limba romana nu e punctu' meu forte Very Happy Ce inseamna componente conexe? Very Happy
Memorat
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #6 : Septembrie 15, 2008, 20:25:24 »

O componenta conexa intr-un graf neorientat este o submultime maximala C a multimii de noduri astfel incat oricare ar fi doua noduri x si y din C, exista drum de la x la y si de la y la x.
Google it. In plus, uita-te pe sursele din arhiva si ai sa vezi cum functioneaza algoritmul de determinare a componentelor astea.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #7 : Septembrie 16, 2008, 16:46:44 »

Mersi fain. Am inteles Smile
Memorat
zbarni
Strain


Karma: 3
Deconectat Deconectat

Mesaje: 23



Vezi Profilul
« Răspunde #8 : Ianuarie 01, 2009, 21:45:12 »

Este DFS mai rapid decat BFS Confused, sau este numai legat de testele acestea? cu al doilea am luat 60 de puncte.
Memorat
razyelx
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #9 : Martie 02, 2009, 20:22:44 »

DFS are aceeasi complexitate cu BFS: O(n+m).
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #10 : Martie 02, 2009, 20:48:18 »

E adevarat, doar ca una este recursiva iar cealalta iterativa, de aici diferenta de timp. Probabil ca ai folosit STL la bfs, care merge mai incet ca stiva (sa ma corecteze cineva daca gresesc), sau la bfs ai bagat de mai multe ori nodurile in coada Smile,
Memorat
razyelx
Client obisnuit
**

Karma: 0
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« Răspunde #11 : Martie 02, 2009, 21:27:05 »

Se poate DFS si iterativ. Si ma chinui acum sa il implementez, dar nu am alte idei decat sa imi creez o stiva care sa o inlocuiasca pe cea din sistem pt functii. A facut careva interativ DFS?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #12 : Martie 02, 2009, 21:40:19 »

dar nu am alte idei decat sa imi creez o stiva care sa o inlocuiasca pe cea din sistem pt functii.

Pai altfel nu ai cum.  Smile Iti retii in stiva nodurile, in ordinea parcurgerii. Atunci cand nu mai ai unde sa mergi din nodul st[vf], stergi varful stivei (--vf), si incerci noul varf (ii parcurgi vecinii). Repeti procedeul pana cand stiva devine vida. Uite un pseudocod:

Cod:
- introduc in stiva nodul de start
- cat timp am elemente in stiva:
   -- daca nodul din varful stivei are un vecin nevizitat atunci
        ---vizitez vecinul. [ viz[nod] = 1; ]
        ---introduc in stiva vecinul. [ st[++vf] = nod;
   --altfel, scot din stiva nodul din varf. [ --vf ].
-
Implementarea e simpla! Succes!
Memorat
frumushel
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #13 : Martie 11, 2009, 08:40:41 »

am facut-o cu liste si merge viss... Banana
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #14 : Martie 11, 2009, 20:46:28 »

Citat
Pai altfel nu ai cum. 
Merge si recursiv ,sursa  oficiala  e facuta recursiv Wink
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #15 : Martie 11, 2009, 21:07:17 »

Postul tau e cam degeaba.  Smile Daca ai fi citit cu atentie, ti-ai fi dat seama ca ma refeream la cum poate sa faca iterativ. Adica sa transforme algoritmul recursiv in iterativ, prin simularea stivei. Prin "altfel nu ai cum" ma refeream la faptul ca simularea stivei e obligatorie pentru a face iterativ.
« Ultima modificare: Martie 12, 2009, 08:59:58 de către Marcu Florian » Memorat
Bit_Master
Vorbaret
****

Karma: -49
Deconectat Deconectat

Mesaje: 159



Vezi Profilul
« Răspunde #16 : Aprilie 07, 2010, 15:50:49 »

Eu am facut cu matrice de adiacenta si am luat 100. Smile
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #17 : Aprilie 07, 2010, 15:56:46 »

Tu ai liste de vecini, nu matrice de adiacenta.
Matricea de adiacenta e o matrice A de dimensiune N x N, unde A[ i ][ j ] = 1 daca exista muchie de la nodul i la nodul j, sau A[ i ][ j ] = 0 in caz contrar.
Memorat
bogdanduduman
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #18 : Iulie 19, 2010, 16:32:17 »

Eu iau de la testu 12-20 - Killed by signal 11. Confused imi poate spune cnv unde e 'problema' pe solutia trimisa?
Memorat
blasterz
Nu mai tace
*****

Karma: 92
Deconectat Deconectat

Mesaje: 255



Vezi Profilul
« Răspunde #19 : Iulie 19, 2010, 17:27:26 »

Eu iau de la testu 12-20 - Killed by signal 11. Confused imi poate spune cnv unde e 'problema' pe solutia trimisa?

Vezi ca limita e 1 <= N <= 100 000 !!! (tu ai declarat vectorii de 10 005 )
Memorat
lady
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #20 : Februarie 16, 2011, 17:00:39 »

imi poate spune cineva, va rog, ce inseamna eroarea "Non-zero exit status." in borderoul de evaluare ?  Confused
multumesc..
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #21 : Februarie 16, 2011, 17:34:17 »

Cod:
1 ≤ N ≤ 100 000
Tu ai declarat o matrice [0..100,0..100], deci dupa ce citesti (de exemplu) 101 incerci sa accesezi o zona de memorie nealocata.
Va trebui sa retii matricea sub forma de liste de adiacenta.
Memorat
alexandru93
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #22 : Martie 02, 2011, 16:30:20 »

salutare!...
am si eu o problema...trimit sursa si iau doar 15 pct:-? si pe restul testelor "incorect"...dar oricate teste as da eu...imi da ok! daca are cineva timp sa se uite pe sursa...poate vede greseala pe care nu o vad eu:-?
adresa e: http://infoarena.ro/job_detail/544998


am rezolvat...multumesc oricum peacefingers

Nu posta consecutiv pe aceeasi tema. Editeaza-ti mesajele anterioare!
« Ultima modificare: Martie 02, 2011, 20:34:29 de către FMI - Paul-Dan Baltescu » Memorat
danalex97
Vorbaret
****

Karma: 54
Deconectat Deconectat

Mesaje: 192



Vezi Profilul
« Răspunde #23 : Iulie 07, 2012, 12:18:24 »

Si ... de unde as putea invata cum se lucreaza cu pointeri ?
Memorat
Schumi
Client obisnuit
**

Karma: 36
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #24 : Iulie 07, 2012, 12:33:23 »

http://zanasi.chem.unisa.it/download/C.pdf -> aceasta carte contine tot ce iti trebuie despre limbajul C. Capitolul 5 este dedicat pointerilor   Smile
Vezi ca la problema asta poti sa eviti folosirea pointerilor. Iti poti tine un vector din stl cu vecinii fiecarui nod  wink
Memorat
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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