Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 014 Parcurgere DFS - componente conexe  (Citit de 22669 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