.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Tech (http://www.dsy.it/forum/forumdisplay.php?forumid=189)
-- [WEB APPLICATION] algoritmo directory tree (http://www.dsy.it/forum/showthread.php?threadid=25073)


Posted by diverso on 04-04-2006 16:22:

[WEB APPLICATION] algoritmo directory tree

ciao

sto realizzando la parte di gestione documentale di una web application
devo realizzare anche la parte di consultazione delle directory, subdirectory, documenti, ...
questa parte probabilmente la realizzo con tecnologia j2ee - ajax .

la domanda è: conoscete qualche algoritmo per la lettura dell'albero delle directory?

le directory sono salvate su db in questo modo:

c'è la tabella folder con i seguenti campi:

- id_folder (identificativo della cartella)
- id_parent (0 se la folder appartiene alla root, altrimenti è una subdirectory di un'altra folder)
- is_doc ('Y' se la cartella identifica un documento che in realtà è una folder che contiene le varie versione del documento, 'N' se è una folder normale)

io pensavo ad una funzione ricorsiva, ma ancora non sono arrivato a sviluppare quella parte, ma stavo cominciando a ragionarci per quando dovrò realizzarla.

__________________
La guerra contro di noi, noi contro la guerra
Il nemico sei tu, è te che combattono
Rendendoti precario se lavori, arrestandoti se protesti
Imbavagliandoti se parli, spiandoti se ti organizzi...


Posted by ripe on 04-04-2006 17:45:

Ma sono directory fisiche o 'virtuali'?

__________________
«And if you ever smell christian blood up in the mountains, then get your axe and chop them down!»


Posted by diverso on 04-04-2006 17:48:

sono virtuali chiaramente

__________________
La guerra contro di noi, noi contro la guerra
Il nemico sei tu, è te che combattono
Rendendoti precario se lavori, arrestandoti se protesti
Imbavagliandoti se parli, spiandoti se ti organizzi...


Posted by yeah on 04-04-2006 23:21:

L'attraversamento degli alberi in genere si fa con funzioni ricorsive o cicli.

Le prime sono più semplici ma non hai controllo sulla crescita dello stack delle chiamate (rischio overflow dello stack), i secondi sono un pò più complessi :)

Visto che hai un db dietro, qual'è l'obiettivo dell'attraversamento delle directory?

__________________
?


Posted by ripe on 05-04-2006 07:45:

Voto per la funzione ricorsiva... ho appena realizzato qualcosa del genere e poiché le cartelle erano rappresentate da classi (in VB.NET), non avendo certezza se la parent fosse già stata letta o fosse in un record successivo del database ho proceduto così. Ho letto tutte le cartelle dal database senza operare alcun calcolo e le ho memorizzate in una List generica (Of Cartella), dopodiché ho cercato la root nella list e tramite la classica funzione ricorsiva ho assegnato a ogni classe cartella a partire dalla root le sue sottocartelle andando a creare l'albero.

__________________
«And if you ever smell christian blood up in the mountains, then get your axe and chop them down!»


All times are GMT. The time now is 21:50.
Show all 5 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.