![]() |
Pages (8): « 1 2 3 4 [5] 6 7 8 » 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 Febbraio (http://www.dsy.it/forum/showthread.php?threadid=41482)
io ho memorizzato le n coppie in una lista ed ho creato un albero rb con liste di adiacenza.. cosi' poi per scorrerlo e contarlo il costo è quello dell'attraversamento di un grafo in profondità
Le coppie che hai fatto uscire dal bfs sono nel formato uomo-donna o hai mantenuto anche le copie donna-uomo?
Originally posted by figo1987
io ho memorizzato le n coppie in una lista ed ho creato un albero rb con liste di adiacenza.. cosi' poi per scorrerlo e contarlo il costo è quello dell'attraversamento di un grafo in profondità
Sono abbastanza indietro sia di C sia di algoritmi quindi avrei bisogno del vostro aiuto.
Ho capito che è consigliabile usare un albero rb in quanto efficiente sulle operazioni di inserimento e cancellazione.
Ora volevo chiedervi se i passaggi son corretti:
Creo i nodi dell'albero rb con una struttura contenente:
-chiave (hash su nome)
-vari dati invitato
-puntatori left, right e padre
Creo l’abero rb
Funzioni inserimento, rimozione, stampa dipendenti da uno switch sui primi caratteri della stringa di input.
Giusto?
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Originally posted by Chobeat
io salvo tutte le affinità in un albero binario(quindi ordinato) e poi prendo le N migliori con cui costruisco il grafo.
Infatti, che tipo grafo?
ragazzi io lascio il progetto. ci rivediamo a Giugno
Ma nei nodi si deve salvare tutto o solo l'hash del nome?
(scusate fa faccio domande del cazzo, ma ci capisco niente)
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Ragazzi io ho le n coppie con le affinità migliori, come create i gruppi ?
Ciao sono nella merda perchè ho usato gli rbtree dell'algoteam e nella funzione:
void rbdelete(rbtree *tree, rbnode *q){
rbnode *r, *s;
if(q->left == tree->nil || q->right == tree->nil)
r = q;
else
r = treesucc(tree,q);
s = r->left != tree->nil ? r->left : r->right;
s->up = r->up;
if(r->up == tree->nil)
tree->root = s;
else
if(r == r->up->left)
r->up->left = s;
else
r->up->right = s;
if(r != q){
q->v = r->v;
}
if(r->c == black)
fixup(tree, s);
free(r);
}
non riordina in modo corretto perchè scazza con le chiavi che sono di tipo stringhe. Voi cosa avete modificato?
da quanto ho capito (poco) devi trasformare il nome in un intero tramite la funzione hash (la trovi sempre nell'algoteam)
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Si, per trasformare una stringa in un numero, ci sono un sacco di funzioni hash sparse su internet. Io ho fatto un merge di due e mi è uscita una funzione ottimale 
Per quanto riguarda la creazione dei gruppi ? Qualcuno ha un idea ?
Ho le migliori coppie ... ma non riesco a trovare un modo efficiente per raggrupparle. 
Originally posted by Utopia
[
Per quanto riguarda la creazione dei gruppi ? Qualcuno ha un idea ?
Ho le migliori coppie ... ma non riesco a trovare un modo efficiente per raggrupparle.[/B]
Ho un problema: inserisco gli invitati, li stampo con 'invitati' e compaiono tutti.
faccio 'out invitato' e se poi faccio 'stampa invitato' mi dice che l'ha cancellato, quindi funziona.
Se rifaccio 'invitati', ne trovo n-1, ma c'è quello che ho eliminato mentre non ce n'è un altro.
Non sempre succede, dipende dall'ordine di eliminazione.
Da cosa può dipendere?
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Mi sa che è l'ordinamento.
Qualcuno potrebbe gentilmente postarmi la parte del caso 'invitati'?
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
| All times are GMT. The time now is 07:38. | Pages (8): « 1 2 3 4 [5] 6 7 8 » Show all 110 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.