2014-12-03 19:26 GMT+02:00 Dan Borlovan <[email protected]>:

> > De exemplu, in python ar arata cam asa:
>
> Poate-mi scapa mie, ca nu-s prieten cu python
>
> Daca ai un fisier referit de mai multe ori ce faci?
>
> Daca ai referinta circulara ce faci?
>
>
M-a batut la un moment dat gandul sa incerc si eu o solutie (cu perl, of
course :P), dar n-am avut timp. IMO, cel mai decent e sa mentii o lista de
nume de fisiere aflate la care sa atasezi un flag daca le-ai citit. (un
hash de forma nume => flag, unde flag incepe prin a fi 0, de ex).
Initializezi aceasta lista cu numele fisierului initial si 0.

Dupa aia, atata timp cat ai fisiere cu flagul 0 in lista, alegi unul, il
setezi pe 1 si citesti din el nume de fisiere. Daca nu exista in lista, le
adaugi cu flagul 0. Cand termini o iei de la inceput. Daca ai ramas fara
fisiere cu flagul 0, toate alea ramase sunt fisierele pe care le-ai citit
(nu mai stiu termeni fancy de teoria grafurilor, da' practic sunt toti
descendentii posibili ai seed-ului original. daca graful nu e conex, sau
ala seedul initial nu e convenabil ales, e posibil sa nu le vizitezi pe
toate, dar astea au fost datele problemei).

-- 
P.
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui