![]() |
Pages (28): « First ... « 15 16 17 18 [19] 20 21 22 23 » ... 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)
Io l'ho iniziato da poco, ma credo di essermi fatto un'idea abbastanza precisa di come implementarlo.
Pensavo di usare vari alberi rb: per esempio, uno per contenere tutti gli utenti e uno come membro di ogni nodo utente, per rappresentare le amicizie. (come penso molti avranno fatto)
Il problema è che sono due alberi con nodi diversi e quindi devo scrivere le funzioni per gestirli due volte (rb_search_utente e rb_search_amicizie, per esempio)..
Secondo voi si incasina troppo il codice e mi faranno storie o mi sto facendo paranoie per niente?
Il fatto è che non vedo altre soluzioni, se fossimo in un linguaggio a oggetti magari si potrebbe risolvere con l'ereditarietà o i tipi generici, ma... vabbè se ne è già parlato ![]()
__________________
Eidolon64|Blog
Originally posted by Shaper
Io l'ho iniziato da poco, ma credo di essermi fatto un'idea abbastanza precisa di come implementarlo.
Pensavo di usare vari alberi rb: per esempio, uno per contenere tutti gli utenti e uno come membro di ogni nodo utente, per rappresentare le amicizie. (come penso molti avranno fatto)
Il problema è che sono due alberi con nodi diversi e quindi devo scrivere le funzioni per gestirli due volte (rb_search_utente e rb_search_amicizie, per esempio)..
Secondo voi si incasina troppo il codice e mi faranno storie o mi sto facendo paranoie per niente?
Il fatto è che non vedo altre soluzioni, se fossimo in un linguaggio a oggetti magari si potrebbe risolvere con l'ereditarietà o i tipi generici, ma... vabbè se ne è già parlato[/B]
Originally posted by hyperion
potresti ovviare al creare 2 alberi differenti vedendo un albero delle amicizie come avente radice nel nodo dell'albero generale...quindi fai un sottoalbero delle amicizie e le funzioni di ricerca rimangono le stesse cambiando solamente la radice...
poi nn so come tu voglia gestire i gruppi..
__________________
Eidolon64|Blog
Originally posted by Shaper
In pratica potrei creare un unico nodo con tutti i membri che mi servono per gestire utenti gruppi e amicizie... In questo caso dovrei però incasinare notevolmente le funzioni, per fargli capire che stanno maneggiando un utente o un amicizia..
Devo vedere se mi conviene, dato che comunque il tempo di esecuzione e l'efficenza sarebbero gli stessi credo, si tratterebbe solo di rendere meno ridondante il codice..
Grazie del consiglio comunque!
Pensavo di fare un unico nodo sia per gli utenti che per i gruppi, con un membro tipo a identificarli. Alla fine un gruppo si comporta come un utente e i membri del gruppo possono essere visti come un albero di amicizie..
Mi sembra che anche qualcun altro qui abbia proposto una soluzione simile qualche post fa..
Ah, ma voi date in pasto al prof un unico file.c o pensate che gradirebbe anche un file di intestazione?
be guarda io uso gli alberi per implementare i gruppi e i membri del gruppo, ed uso la stessa struttura; nei gruppi ci sarà una stringa per il titolo, nei membri la stessa stringa sarà usata per il nome..in ogni nodo del gruppo ci sarà un puntatore ad un albero membri
invece uso tabelle hash per profili e amici, liste per richieste e gruppi associati ad ogni profilo
a questo prorposito devo capire bene come usare dijkstra con la tabella hash amici (che poi sono come liste concatenate--->grafi)
...credo che alla fine importi poco dato che è un esame di algoritmi e non di programmazione in senso stretto....
Hyperion mi sento chiamata in causa.. ![]()
Cmq.. com'è andato il tuo???
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
Originally posted by Joy88
...credo che alla fine importi poco dato che è un esame di algoritmi e non di programmazione in senso stretto....
Hyperion mi sento chiamata in causa..
Cmq.. com'è andato il tuo???
Ciao ragazzi, ho appena superato l'appello di febbraio e adesso sto incominciando a pensare al progetto...
Mi pare di capire che molti di voi lo stiano facendo con gli alberi BR?
Io stavo pensado ad un grafo fatto a liste di adiacenza con inserimento ordinato...
Hyperion.. a un punto morto!!!
Segmentation fault!! Ti dico solo questo!!!
..è che non ho ancora ben chiaro come strutturare il progetto con gli alberi!!!!
mah..
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
Originally posted by Joy88
Hyperion.. a un punto morto!!!
Segmentation fault!! Ti dico solo questo!!!
..è che non ho ancora ben chiaro come strutturare il progetto con gli alberi!!!!
mah..
quando voglio inserire il profilo, inserisco con la funzione inserisci.
e fin lì tutto ok..
Controllo poi se il profilo esiste.
Se esiste devo modificare lo stato e io faccio:
prof = ricerca (albero, nome);
if (prof!= NULL)
{
prof->stato= stato;
}
..è giusto che modifico lo stato in questo modo?? mmm.. è qui che va in errore...
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
Originally posted by Joy88
quando voglio inserire il profilo, inserisco con la funzione inserisci.
e fin lì tutto ok..
Controllo poi se il profilo esiste.
Se esiste devo modificare lo stato e io faccio:
prof = ricerca (albero, nome);
if (prof!= NULL)
{
prof->stato= stato;
}
..è giusto che modifico lo stato in questo modo?? mmm.. è qui che va in errore...
Ahahahah!!!
Pensare che ci ho perso tutto ieri pomeriggio!!!!
Incredibile.. mi ribello anch'io al C!
__________________
"Amor, ch’a nullo amato amar perdona, mi prese del costui piacer sì forte che, come vedi, ancor non m’abbandona."
*Dante*
Originally posted by Joy88
quando voglio inserire il profilo, inserisco con la funzione inserisci.
e fin lì tutto ok..
Controllo poi se il profilo esiste.
Se esiste devo modificare lo stato e io faccio:
prof = ricerca (albero, nome);
if (prof!= NULL)
{
prof->stato= stato;
}
..è giusto che modifico lo stato in questo modo?? mmm.. è qui che va in errore...
__________________
Eidolon64|Blog
Originally posted by Shaper
Non saprei, io ho fatto più o meno così e funziona..
Domanda stupida: prof è un puntatore a un nodo, vero? Perchè le prime volte che ho smanettato con gli alberi l'ho dichiarato così rbnode prof;
invece che così rbnode *prof;
| All times are GMT. The time now is 14:20. | Pages (28): « First ... « 15 16 17 18 [19] 20 21 22 23 » ... Last » Show all 417 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.