Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Programmazione
 
[RAPACIOLI] programma esame
Clicca QUI per vedere il messaggio nel forum
tesco85
qualcuno che mi da qualche input per il seguente programma:Gli eseguibili prodotti dalla compilazione devono essere due, Index e Find.

Il primo Index ha un solo parametro, il Path sul disco della radice del sottoalbero da indicizzare. Il programma Index indicizzerà il contenuto dei file *.txt dalla radice passata come parametro a tutte le sottodirectory fino alle foglie del sottoalbero.

Il servizio Find, ha sue parametri il Path sotto il quale cercare e la parola da ricercare, restituisce tutti i file *Txt presenti nel sottoalbero che parte da path che contengono la parola passata.
ve ne sarei grato grazie

DeepBlue
E' simile a quello dell'anno scorso, con la differenza che l'anno scorso si poteva produrre un unico eseguibile.

Sicuramente il buon Rapacioli vi ha fatto studiare le hash table, che mi sembrano il modo migliore per realizzare Index.

La soluzione p iù pratica che mi viene in mente è di calcolare un hash per tutte le parole contenute nel file e memorizzarlo con il relativo path in un file (o nell'heap se siete capaci, ma non credo sia una buona soluzione se non siete VERAMENTE padroni dell'argomento puntatori, anche perché sarebbe difficile capire quanta memoria allocare e lavorare sulle realloc in funzioni ricorsive è come sdraiarsi sui binari).

A quel punto, scrivere Find è "semplice": gli date in pasto la parola da cercare, fate calcolare l'hash e lo fate confrontare con tutti gli hash contenuti in Index. Man mano che trova riscontri positivi, stampate il percorso e il nome del file a video.

Per facilitare l'attraversamento e la lettura di directory, ci sono delle system call per DOS e Win.
Non mi ricordo come si chiamano, ve le segnalo domani, se riesco.
Con un po' di ricorsione dovreste riuscire :)

Buona fortuna :)

tesco85
grazie dell'aiuto speriamo in bene

Rubi!
mi stavo chiedendo.... il risultato dell'indicizzazione compiuta da INDEX finisce in memoria....kiudendo index....il contenuto finito in memoria si cancella ?se si, devo quindi tenere aperto index per permettere a FIND di lavorare ? se no...meglio... :)

tesco85
ciao a tutti qualcuno sa darmi qualche input su come fare delle hash table per indicizzare un sottoalbero ? volevo sapere inoltre se all'orale il rapa fa un poò il bast..do o cosa.grazie ciauu

DeepBlue
Intervento del moderatore:
non aprite mille thread per lo stesso argomento. Leggete il regolamento.

Unisco i thread

DeepBlue
Originally posted by Rubi!
mi stavo chiedendo.... il risultato dell'indicizzazione compiuta da INDEX finisce in memoria....kiudendo index....il contenuto finito in memoria si cancella ?se si, devo quindi tenere aperto index per permettere a FIND di lavorare ? se no...meglio... :)


Basta farlo scrivere in un file


Originally posted by tescu85all'orale il rapa fa un poò il bast..do o cosa.grazie ciauu


Dipende da come gli gira ;)
L'importante è stare tranquilli ;)

Tiaz_82
Io finora sono riuscito ad aggiungere un servizio nella libreria che gestisce l'hash table che, prima della chiusura , crea un file del genere :
parola1 \b percorso1
parola2 \b percorso2
parola3 \b percorso3

ora mi manca pero la funzione che nella find apre il benedetto file e carica tutti gli elementi nuovamente nella hash table per poi usare la find della hash table (leggermente modificata perche deve distinguere le parole uguali dalle parole con lo stesso hash (pippo e oppip per intenderci)).
Sarebbe meglio parlarne tutti di queste cose cosi magari ci si aiuta a vicenda :)
Sul indicizzazione dell'albero ancora alto mare.
Ciauz Tia

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate