Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Lant maxim in arbore  (Citit de 4312 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
nparfene2004
Client obisnuit
**

Karma: 22
Deconectat Deconectat

Mesaje: 81



Vezi Profilul
« : Ianuarie 17, 2013, 16:16:15 »

La multi ani tuturor!

V-as ruga sa ma ajutati la urmatoarea problema: Fie un arbore (graf conex fara cicluri). Sa se determine un lant elementar de lungime maxima.

Daca as face un BF din fiecare nod, as avea o complexitate O(n x (n + m)). As putea reduce poate ceva daca fac BF numai din noduri terminale. Intrebarea mea este: exista un algoritm mai bun?
Multumesc!
Memorat
vendetta
De-al casei
***

Karma: 72
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #1 : Ianuarie 17, 2013, 16:19:44 »

Da, este. Se poate in (n + m). Cred ca problema aceasta cere acelasi lucru.
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #2 : Ianuarie 17, 2013, 17:56:26 »

Cea mai evidenta solutie e o dinamica dp[nod] = cel mai lung lant in jos pornind din nod. Evident in fiecare nod ai sa incerci apoi sa unesti fii cu dp maxim.

Alta solutie mai simpla ar fi sa faci un DF. Vei obtine un nod X, cu distanta cea mai mare de radacina. Daca mai faci un df din X si nodul cu cea mai mare distanta fata de el este Y, atunci X - Y este un lant de lungime maxima.
Memorat
nparfene2004
Client obisnuit
**

Karma: 22
Deconectat Deconectat

Mesaje: 81



Vezi Profilul
« Răspunde #3 : Ianuarie 17, 2013, 18:28:37 »

Multumesc pentru sfaturi!
Mi se pare interesanta ideea cu exact doua DF-uri, desi nu-mi dau seama cum se arata (macar intuitiv) corectitudinea algoritmului.
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #4 : Ianuarie 17, 2013, 22:22:02 »

Hint: Trebuie sa demonstrezi ca oricare ar fi un nod X din arbore, cea mai departata frunza de X va face parte intotdeauna dintr-un lant de lungime maxima. Se face prin reducere la absurd.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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