![]() |
Pages (28): « First ... « 3 4 5 6 [7] 8 9 10 11 » ... Last » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Algoritmi e strutture dati (http://www.dsy.it/forum/forumdisplay.php?forumid=207)
-- Progetto "FACCIALIBRO" (http://www.dsy.it/forum/showthread.php?threadid=37551)
sto guardando quello che hai linkato. però penso che sia sbagliato !!!!
come dici di farlo???
pardon :
struct profilo
{
/* rappresenta un profilo della lista */
char *nick_name; /* punta alla parola che identifica il nome utente */
char *staus_utente /* punta alla parola che identifica lo status dell'utente */
struct element *next; /* prossimo elemento della lista */
};
io sto provando a fare il progetto con le hash quasi esclusivamente per risolvere in maniera efficiente la funzione consiglia nuovi amici..
se voi avete trovato una soluzione efficiente con le liste o coi grafi o altro usate quelle..per dire qui parlate di grafi, io non ci ho pensato minimamente(e non perchè ineficciente, non mi è venuto in mente)
ma usando grafi non c'è il problema nell'allocazione del'array di puntatori?perchè deve essere di una dimensione data però non so quanti profili avro!!
i profili come possono essere rappresentati in tabelle hash???
Originally posted by middu
i profili come possono essere rappresentati in tabelle hash???
lo so io ho fatto una cosa del genere :
struct profilo
{ /* rappresenta un profilo della lista */
char *nick_name; /* punta alla parola che identifica il nome utente */
char *staus_utente; /* punta alla parola che identifica lo status dell'utente */
struct element *next; /* prossimo elemento della lista */
};
/* una funzione che mi crea dinamicamente un vettore di char che contiene
la parola nick_name e restituisce un puntatore al vettore creato */
char *crea_nick(char *word)
{
char *w;
w= calloc(strlen(word),sizeof(char));
strcpy(w,word);
return w;
}
la funzione cosa fa data una parola che rappresenta il nick, crea un array di caratteri che dovrà contenere una parola che rappresenta il nome utente
ho letto http://www.algoteam.dsi.unimi.it/im...codici/hash.txt
ma copio dal testo:
Si noti che per realizzare una tabella hash e' fondamentale che la dimensione
della tabella possa essere modificata a piacere senza dover modificare la
definizione della funzione hash. In questo caso basta cambiare il valore di
HASHSIZE e ricompilare il programma.
#define HASHSIZE 5000 /* dimensione della tabella hash */
__________________
Tutti gli uomini sono mortali.
Socrate era mortale.
Dunque, tutti gli uomini sono Socrate.
(Woody Allen)
siccome devo avere dei nomi utenti univoci devo ho creato una funzione che permette di verificare se il nome o nick di un utente è uguale lessograficamente ad uno di dei nick presenti in lista. E' giusto come ragionamento???
Originally posted by green.riot
ho letto http://www.algoteam.dsi.unimi.it/im...codici/hash.txt
ma copio dal testo:
quindi non ho la possibilià aggiungere 5001 profili, ma dovrò in ogni caso ricompilare i sorgenti per farlo .. -.-'' o sbaglio?
a questo punto meglio i grafi .. la soluzione delle liste mi sembra inefficiente
 
Raga qui state andando in paranoia totale inutilmente!
@ green.riot
se proprio vuoi usare le tabelle hash metti come HASHSIZE MAX_INT cosi vai sul sicuro tanto + profili di quelli non puoi inserire visto che è il limite degli interi.
Forse ti starai chiedendo "ma non è spreco di spazio definire la hash table con MAX_INT" in realtà non sprechi molto spazio perchè se non contiene nessun elemento la tua tabella ha solo dei puntatori!! quindi direi che lo spreco è minimo.
@ hyperion
prima di tutto non so dove avete visto che per creare un grafo bisogna indicare il numero di vertici che conterrà. mah!!
qui ci sono un sacco di progetti (tra i quali i miei) che fanno uso di grafi a volontà
, e ti assicuro che non è necessario sapere il numero di nodi del grafo.
@ per tutti
Tabelle hash o grafi?
dipende di come vi trovate meglio.
inoltre con le tabelle hash avete il limite imposto dal tipo di dati intero mentre con i grafi non avete nessun limite ( tranne che quello della memoria RAM
)
ciao e buon progetto a tutti!!
DS.
__________________
by Ð@rk§h@ÐØw
Grazie dark per il contributo ![]()
__________________
Perché, mentre il manganello può sostituire il dialogo, le parole non perderanno mai il loro potere; perché esse sono il mezzo per giungere al significato, e per coloro che vorranno ascoltare, all'affermazione della verità. E la verità è che c'è qualcosa di terribilmente marcio in questo paese. (V)
I popoli non dovrebbero aver paura dei propri governi, sono i governi che dovrebbero aver paura dei popoli. (T.J)
dark avanzi una birra
__________________
My Blog - My Photo Album
| All times are GMT. The time now is 08:29. | Pages (28): « First ... « 3 4 5 6 [7] 8 9 10 11 » ... Last » Show all 417 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.