guarda....di come si possa far non ne ho idea..cmq posso dirti che l'algoritmo eseguirebbe un numero spropositato di queries al DB, soprattutto se modifichi l'algoritmo per far si che rilevi anke gli archi all'indietro...secondo me converrebbe prendere tutti i dati necessari dal database, memorizzarli in array e sviluppare l'algoritmo in php