![]() |
Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Filez (http://www.dsy.it/forum/forumdisplay.php?forumid=25)
-- Mappe - sorgenti (http://www.dsy.it/forum/showthread.php?threadid=24001)
Mappe - sorgenti
Questi sono i sorgenti del mio progetto Mappe.
Il programma in generale è corretto (o almeno sembra
però voglio chiarire una cosa. La funzione per l'inserimento nella tabella a doppio hash NON funziona sempre correttamente: è infatti possibile, in certe condizioni, che inserendo una chiave già presente non avvenga la sovrascrittura... PERO' questo non avviene mai per come la hash table viene utilizzata.
Diciamo che è un BUG latente...
Probabilmente era meglio implementare la hash table in modo + semplice (risoluzione collisioni mediante liste).
Per quanto riguarda MapTree si può migliorare in 2 modi:
- implementando il "ricompattamento" dell'albero
- sbarazzandosi dell'allocazione dinamica per la gestione delle stringhe (non entro nei dettagli altrimenti mi dilungo).
COMPILAZIONE (se usate un sistema operativo serio):
mkdir mappe
cd mappe
tar xf ../ornati.tar
make
Per i Windowsiani: non conosco tale sistema(?) operativo(?) 
beh direi che visto i tempi di esecuzione sei un mago, spero che parteciperai alla discussione del nuovo progetto
__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !
Originally posted by maynard80
beh direi che visto i tempi di esecuzione sei un mago, spero che parteciperai alla discussione del nuovo progetto
non so quanto sia riutilizzabile, ma io un'occhiata gliela darò...al limite mi faccio un'idea ![]()
__________________
"Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh burzum-ishi krimpatul"
Per aiutare la comprensione del mio codice allego la relazione.
PS: mi sono accorto che nell'analisi della complessità computazionale delle varie operazioni non tengo conto della gestione delle stringhe (pezzi di specifica) associate ad ogni nodo dell'albero....
Scusate la mia enorme ignoranza in materia...ma le tabelle hash quando mai le ha spiegate Goldwurm o Aguzzoli??
Nei lucidi delle lezioni non le ho viste...
Originally posted by tyzer
Scusate la mia enorme ignoranza in materia...ma le tabelle hash quando mai le ha spiegate Goldwurm o Aguzzoli??
Nei lucidi delle lezioni non le ho viste...![]()
Per chi me l'aveva chiesta questa è la mia funzione hash basata su xor e shift
unsigned int hash1(int x,int y){
unsigned int hash=0xF4DB98A1;
hash^=x;
hash= ((hash & 0x000000FF) << 16) |
((hash & 0x00FF0000) >> 8 ) |
((hash & 0x0000FF00) << 16) |
((hash & 0xFF000000) >> 24);
hash^=y;
return hash;
}
__________________
Maurizio Lombardi
Linux 2.6.14.2
-----------------------
Noi eravamo con Goldwurm ed Aguzzoli...e di hash manco a parlarne, so che non sono obbligatorie ma allora che struttura dati si deve usare per il Piano?Qualcuno pensava una lista di liste o che altro...boh...la matrice l'ha esclusa il Prof per primo nel testo dell'esercizio...
Originally posted by tyzer
Noi eravamo con Goldwurm ed Aguzzoli...e di hash manco a parlarne, so che non sono obbligatorie ma allora che struttura dati si deve usare per il Piano?Qualcuno pensava una lista di liste o che altro...boh...la matrice l'ha esclusa il Prof per primo nel testo dell'esercizio...

Originally posted by tyzer
Noi eravamo con Goldwurm ed Aguzzoli...e di hash manco a parlarne, so che non sono obbligatorie ma allora che struttura dati si deve usare per il Piano?Qualcuno pensava una lista di liste o che altro...boh...la matrice l'ha esclusa il Prof per primo nel testo dell'esercizio...
__________________
Maurizio Lombardi
Linux 2.6.14.2
-----------------------
Scusate.. sto provando a far funzionare il programma di ornati.. ma c'è qualcosa che non quadra.. io faccio ./mappe nella shell di linux e lui parte.. poi faccio
c 10
v 2 3 25
v 3 4 20
v 4 5 40
m prima 1 0 NWWSEENESSWNNNEN
m seconda 2 1 NNEEEESSWWNNNEEESSWWWWNN
l
ma quando faccio l non stampa niente.. come mai?.. sono io che sbaglio qualcosa? grazie mille 
Originally posted by gighen991
Scusate.. sto provando a far funzionare il programma di ornati.. ma c'è qualcosa che non quadra.. io faccio ./mappe nella shell di linux e lui parte.. poi faccio
c 10
v 2 3 25
v 3 4 20
v 4 5 40
m prima 1 0 NWWSEENESSWNNNEN
m seconda 2 1 NNEEEESSWWNNNEEESSWWWWNN
l
ma quando faccio l non stampa niente.. come mai?.. sono io che sbaglio qualcosa? grazie mille![]()
Dubito che ti risponderanno gli autori.. cmq ho appena dato un'occhiata e direi che ti rimane appeso sulla read. Ti consiglio di modificare il makefile e di inserire l'opzione per i simboli di debug così puoi debuggare ad alto livello con gdb. Oppure usa 'strace' e vedrai che per l'input che gli dai tu rimane sulla read.
Originally posted by Cronovirus
Come avrai visto è un post di 10 anni faDubito che ti risponderanno gli autori.. cmq ho appena dato un'occhiata e direi che ti rimane appeso sulla read. Ti consiglio di modificare il makefile e di inserire l'opzione per i simboli di debug così puoi debuggare ad alto livello con gdb. Oppure usa 'strace' e vedrai che per l'input che gli dai tu rimane sulla read.
Prova a leggere meglio il codice, probabilmente non va bene come stai dando gli input
.. proverò anche se non sono molto pratico con la hash table.. e essendo il progetto lo stesso di quest'anno volevo farlo con gli alberi o i grafi, ma non trovo sorgenti con quelli.. almeno per capire come strutturare il problema..
Beh se il progetto è lo stesso assicurati che nessun altro prenda spunto da questo ![]()
| All times are GMT. The time now is 15:01. | Show all 15 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.