.dsy:it. Pages (25): « First ... « 7 8 9 10 [11] 12 13 14 15 » ... 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)
-- [Algoritmi] Progetto "CONTROLLO REMOTO" (http://www.dsy.it/forum/showthread.php?threadid=16306)


Posted by Teju on 14-01-2005 16:27:

Io invece pensavo ad un albero binario in cui ho un nodo e il figlio sinistro è un automa di nome più lungo con almeno uno 0 dopo il nome del nodo padre e con un 1 il figlio destro...
NON occupo ovviamente tutto l'albero, ma purtroppo alcuni nodi vuoti mi capiteranno....

PHP:

-------------------------- 000n -------------------------------------
------------------- 0000a --- 000111111111a -----------------


dove c'è a = è un automa, n = non è un automa

__________________
Teju.it - Una vita da raccontare


Posted by dirkpitt on 14-01-2005 16:39:

Una domanda forse stupida, ma che è meglio avere capito chiaramente. Il rettangolo R(x0,y0,x1,y1) che rappresenta un ostacolo, graficamente è così:

----------------------- (x1,y1)
| |
| |
(x0,y0) -----------------------

vero? Cioè, le coordinate rappresentano i vertici giusti o l'avete interpretato in un modo differente?

Edit:
cavolo, esce uno schifo. In parole povere, il punto (x0,y0) equivale al vertice in basso a sinistra del rettangolo e il punto (x1,y1) equivale a quello in alto a destra, giusto?

__________________
Esistono 10 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono... :D


Posted by LoneWolf on 14-01-2005 16:46:

x0,y0 indicano l'angolo in basso a sinistra del rettangolo, x1,y1 l'angolo in alto a destra, proprio come hai detto tu.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by Dav83 on 14-01-2005 16:48:

si dovrebbe essere proprio così...
per quanto riguarda l'input io memorizzo la riga di comando in un vettore [512]. Se controllate l'input non può essere più lungo di 330 e spiccioli caratteri...dopodichè ho trovato un funzione strtok che separa i caratteri letti con gli spazi e li memorizzo...

__________________
Ciao miao bau


Posted by LoneWolf on 14-01-2005 16:51:

Originally posted by Dav83
si dovrebbe essere proprio così...
per quanto riguarda l'input io memorizzo la riga di comando in un vettore [512]. Se controllate l'input non può essere più lungo di 330 e spiccioli caratteri...dopodichè ho trovato un funzione strtok che separa i caratteri letti con gli spazi e li memorizzo...

Scusa, ma così poni un limite massimo alla lunghezza della stringa letta da tastiera, e quindi alla lunghezza del nome (prefisso) dell'automa e alle operazioni di movimento.
Pur essendoci un limite di sistema come hai detto tu, il prof vuole che non lo si consideri...

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 14-01-2005 16:56:

Originally posted by LoneWolf
Ragazzi, qualcuno ha avuto come me e Teju la malsana idea di utilizzare gli alberi?
Abbiamo trovato due implementazioni differenti di alberi che potrebbero andare bene.

Altro quesito: ricordate se a lezione hanno sconsigliato l'utilizzo degli alberi radicati con un numero illimitato di figli (pagina 201 di Introduzione agli Algoritmi)?


Io sto facendomi qualche conto ancora, e sto valutando le seguenti alternative:
1)Albero binario di ricerca con una funzione che ad ogni inserimento/cancellazione mi verifica se l' albero è bilanciato in altezza, se si ok se no, lo bilancia;
2)Alberi RB, che sinceramente vorrei evitare...
3)B-alberi

ancora sto cercando di capire quale di queste potrebbe essere la migliore...


Posted by joe.satriani on 14-01-2005 17:14:

per quel che riguarda le stringhe io (anche se con pochi esempi) non ho problemi a dichiararle char *n e a scorrerle con cicli del tipo:
for(k = 0;k != strlen(n);k++){
printf("%c\n", n[k]);
}*/
la mia idea per quanto riguarda la struttura degli automi è di utilizzare una lista ordinata lessicograficamente (con la funzione strcmp(s1, s2) )anche se si parla solo di uni e zeri. questo mi consente di avere una lista che ha i nomi con uno stesso prefisso tutti consecutivi.
qualcuno mi sa dare un straccio di codice per inserimento ordinato in lista uni-direzionale?


Posted by LoneWolf on 14-01-2005 17:20:

Originally posted by p2p
Io sto facendomi qualche conto ancora, e sto valutando le seguenti alternative:
1)Albero binario di ricerca con una funzione che ad ogni inserimento/cancellazione mi verifica se l' albero è bilanciato in altezza, se si ok se no, lo bilancia;
2)Alberi RB, che sinceramente vorrei evitare...
3)B-alberi

ancora sto cercando di capire quale di queste potrebbe essere la migliore...

1) Ad ogni inserimento però devi controllare l'albero e se è sbilanciato ribilanciarlo, che ti costa parecchio tempo di calcolo, soprattutto su input molto grandi (tanti automi).
2) :sbocco: Che sbattimento!
3) Un B-albero si avvicina molto alla struttura a cui ho pensato io, cioé nodi con più figli, ma senza tenere i puntatori a ciascun figlio...

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 14-01-2005 17:36:

Originally posted by LoneWolf
1) Ad ogni inserimento però devi controllare l'albero e se è sbilanciato ribilanciarlo, che ti costa parecchio tempo di calcolo, soprattutto su input molto grandi (tanti automi).
2) :sbocco: Che sbattimento!
3) Un B-albero si avvicina molto alla struttura a cui ho pensato io, cioé nodi con più figli, ma senza tenere i puntatori a ciascun figlio...


1) Si infatti tale operazione richiede tempo lineare alle dimensioni dell' albero(che se l' albero è piccolo non andrebbe neanche male...ma se è grande non va bene), ma,se non erro, puo' addirittura diventare quadratico,nel caso incui inserisco una sequenza di chiavi tra due bilanciamenti....;scartato!
2)Quoto!!!
3)mi concentro su questo.


Posted by p2p on 14-01-2005 17:57:

stavo valutando i costi di un po' tutto quello che possiamo usare, e ho letto su un libro(non il nostro di testo)un interessante paragone tra alberi bin, alberi bin con inserimento allar adice,alberi randomizzati,RB alberi e tanti altri...
risultato:gli RB sono in asoluto i piu' performanti...
azz...


Posted by LoneWolf on 14-01-2005 18:05:

Originally posted by joe.satriani
per quel che riguarda le stringhe io (anche se con pochi esempi) non ho problemi a dichiararle char *n e a scorrerle con cicli del tipo:
for(k = 0;k != strlen(n);k++){
printf("%c\n", n[k]);
}

Scusa, ma io continuo a non capire come si possa implementare una lettura da tastiera simile; all'n che hai scritto tu devi dare per forza un valore, limitando quindi l'input.
Peraltro, devi prima allocare memoria per scrivere i char che ricevi da tastiera, e controllare di non averla esaurita se stai ancora leggendo, nel qual caso devi allocarne altra.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by LoneWolf on 14-01-2005 18:07:

Originally posted by p2p
stavo valutando i costi di un po' tutto quello che possiamo usare, e ho letto su un libro(non il nostro di testo)un interessante paragone tra alberi bin, alberi bin con inserimento allar adice,alberi randomizzati,RB alberi e tanti altri...
risultato:gli RB sono in asoluto i piu' performanti...
azz...


In assoluto sono anche i più difficili da implementare!

:sbocco:

Comunque stasera mi rileggo la teoria sugli RB-alberi e valuto se abbandonare i B-alberi moddati che avevo pensato di utilizzare.

__________________
"It is totally natural to die or to be killed, rather than just to live without a certain purpose"


Posted by p2p on 14-01-2005 18:11:

Originally posted by LoneWolf
In assoluto sono anche i più difficili da implementare!

:sbocco:

Comunque stasera mi rileggo la teoria sugli RB-alberi e valuto se abbandonare i B-alberi moddati che avevo pensato di utilizzare.


Si si concordo con te che sono un casino... infatti stavo valutando anche altro, ad esempio ho guardato gli alberi randomizzati,che comunque sembra garantiscano prestazioni medie molto buone, non credo che se mi faccio il culo sugli RB avro' un voto molto piu' alto che se implementassi un albero randomizzato o un B-albero fatto bene... quindi..


Posted by marchinkus on 14-01-2005 20:43:

partendo dall'input " N20W40": come diavolo fate a suddividere il primo comando N20 dal secondo W40??????????


Posted by marchinkus on 14-01-2005 20:46:

se non risolvete il problema del segnale, è inutile partire in quarta pensando già alle strutture da implementare...non farete molta strada


All times are GMT. The time now is 21:04. Pages (25): « First ... « 7 8 9 10 [11] 12 13 14 15 » ... Last »
Show all 366 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.