.dsy:it. 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)


Posted by Shaper on 20-02-2009 08:32:

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 :twisted:

__________________
Eidolon64|Blog


Posted by hyperion on 20-02-2009 08:48:

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)..


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..


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 :twisted: [/B]


sul modo di rappresentare le amicizie io credo ci sia poco da disquisire....alla fine se non usi tabelle hash hai poche altre alternative per rappresentarle...


Posted by Shaper on 20-02-2009 09:06:

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..


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! :-D

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?

__________________
Eidolon64|Blog


Posted by hyperion on 20-02-2009 09:10:

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! :-D

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?



Se tratti un gruppo come un nodo devi stare attento a distinguerlo nelle visite!Cmq a parte questo non è un problema!
No,non ci sono indicazioni sul numero di file da eseguire ecc ecc...credo che alla fine importi poco dato che è un esame di algoritmi e non di programmazione in senso stretto....certo cmq se lo fai su più file lo rendi più ordinato...fate vobis! (fate o facite??)


Posted by Gehur on 20-02-2009 10:26:

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)


Posted by Joy88 on 20-02-2009 10:32:

...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.. :D
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*


Posted by hyperion on 20-02-2009 11:22:

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.. :D
Cmq.. com'è andato il tuo???


devo fare la relazione...tu a che punto sei?


Posted by Johnny88 on 20-02-2009 11:25:

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...


Posted by Joy88 on 20-02-2009 11:32:

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*


Posted by hyperion on 20-02-2009 11:47:

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..


mmm...in che punto ti da questo errore?


Posted by Joy88 on 20-02-2009 11:53:

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*


Posted by hyperion on 20-02-2009 12:03:

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...



non è lecita quella scrittura...devi usare strcpy...cosi puoi assegnare al campo stato il tuo stato argomento delle funzione.....


Posted by Joy88 on 20-02-2009 12:05:

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*


Posted by Shaper on 20-02-2009 12:06:

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...


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;

__________________
Eidolon64|Blog


Posted by hyperion on 20-02-2009 12:07:

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;


no prof è un puntatore o a Goldewerwerwrum o a Torelli...
XD XD


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.