.dsy:it. Pages (17): « 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)
-- [PROGETTO] "Mappe 2" (http://www.dsy.it/forum/showthread.php?threadid=23982)


Posted by Simeon on 18-02-2006 12:24:

Originally posted by darkAntAreS
io ho fatto sottopercorso!!!
un consiglio: NON fare l'errore di calcolarti ogni sottopercorso da ogni punto..ragiona su come è fatto un sottopercorso e da dove deve, per forza di cose, partire per essere tale...
nel caso peggiore a me viene (nlogn)/2, ma bisogna essere proprio sfigati...e nel caso medio viene circa n/2


Mmm forse ho capito, anche quei tempi li possono essere un'indizio :asd:.

Quindi tu hai finito tutto o devi fare riduci?


Posted by tandrea85 on 18-02-2006 13:23:

per quelli che hanno gia fatto la struttura base.. potete dirmi se il ragionamento che ho in testa regge e come la vedete voi?

avevo in mente 2 strutture
- un albero binario per i i punti a cui vengono variati i valori tramite la funzione "valore"
- un grafo che memorizza il percorso della mappa in base alla specifica e 1 algoritmo del cammino minimo.

non riesco ancora a capire cosa associare al piano e alla mappa..

mettiamo che faccio una funzione con il prototipo Piano new_piano(int m, int n, char *nome);
cosa deve ritornarmi alla struttura piano? tutti i valori dei punti del piano è da escludere..
l'unica cosa che mi viene in mente è fagli tornare i valori dei punti presi da file e memorizzati in un array e magari la struttura che contiene le varie mappe del piano..

riguardo appunto la struttura che raggruppa tutte la mappe posso benissimo usare o una lista o un array.

e infine la mappa sarà appunto un grafo.

se qualcuno mi illumina la retta via gliene sarei grato! grazie


Posted by maynard80 on 18-02-2006 14:01:

Originally posted by Simeon
Mmm forse ho capito, anche quei tempi li possono essere un'indizio :asd:.

Quindi tu hai finito tutto o devi fare riduci?

illumina anche chi non ha capito..please

__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !


Posted by Simeon on 18-02-2006 14:09:

Originally posted by maynard80
illumina anche chi non ha capito..please


Ma forse intendeva il fatto che per un percorso pi ... pj i dev'essere i>= j e quindi non devi guardarti tutti i punti... boh! Bluffavo, non lo so ancora perche sto rifinendo riduci() :asd:


Posted by maynard80 on 18-02-2006 14:24:

Originally posted by Simeon
Ma forse intendeva il fatto che per un percorso pi ... pj i dev'essere i>= j e quindi non devi guardarti tutti i punti... boh! Bluffavo, non lo so ancora perche sto rifinendo riduci() :asd:


e mica è vero, se il punto di indice i e quello di indice j sono 2 punti adiacenti??nonostante magari nel percorso della mappa non c'è un hop che li collega..

__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !


Posted by Simeon on 18-02-2006 14:34:

Originally posted by maynard80
e mica è vero, se il punto di indice i e quello di indice j sono 2 punti adiacenti??nonostante magari nel percorso della mappa non c'è un hop che li collega..


Mi sa che hai ragione e che su sta funzione ci devo proprio ragionare, ma non oggi va... :)

@tandrea85

L'albero binario per i punti mi sembra ok

Per il resto... il piano non esiste.

Voglio dire, non crei una struttura per rappresentare il piano, ma fai in modo che ogni volta che hai bisogno di trovare il valore di un punto di questo piano o gli associ il valore di default (che trovi tramite la nota3) oppure gli associ un valore deciso da te (ma prima devi settarglielo tramite "valore(x,y,n)".

Per la struttura che memorizza le mappe puoi usare una lista o un albero o quel che ti pare a te...

Infine riguardo al "la mappa sarà un grafo" non ti posso dire se sia giusto o sbagliato, cioè io non ho fatto così ad esempio ma potrei aver adottato un approccio differente.


Posted by darkAntAreS on 18-02-2006 17:02:

bhe, senza sbilanciarmi troppo ;)

considerate che, se cercate i percorsi a partire da un punto P(i) e P(i-1) è >=0, bhe, in un ciclo precedente avreste potuto controllare i percorsi da P(i-1) che sono sicuramente maggiori di quelli da P(i)...

riduci l'ho fatto, ma ci mette troppo, quindi sto ragionando per velocizzarlo un po'...e per farlo sto pensando ad un albero come appoggio (a sinistra se vai in una direzione, a destra se vai verso l'altra...)

per la struttura di memorizzazione delle mappe l'albero è ottimo, visto che, se lo si ordina sui nomi delle mappe, la ricerca è molto veloce...l'unico problema si incontra con l'eliminazione di un nodo interno, ma basta leggere gli esempi del libro che lo spiegano benissimo

__________________
"Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh burzum-ishi krimpatul"


Posted by Simeon on 18-02-2006 18:39:

Originally posted by darkAntAreS

riduci l'ho fatto, ma ci mette troppo, quindi sto ragionando per velocizzarlo un po'...


Ci mette troppo in che termini? A me l'esecuzione dell'input del prof e' instantanea ad occhio, ma magari ci mette che so 100ms e sono troppi (in fondo l'input del prof è piccolino).

Cosa intendi per troppo scusa?

p.s Grazie per la dritta sui percorsi :)


Posted by darkAntAreS on 18-02-2006 18:48:

bhe, io non mi sto confrontando coi tempi del mio processore...è ovvio che se piazzo un algoritmo come il mio attuale riduci, a meno che non metto i 2 punti a distanze immani, la differenza di tempo non è apprezzabile...più che altro sto facendo i calcoli della complessità dei tempi degli algoritmi...
quindi il discorso di velocizzare le cose si basa sull'algoritmo, non sull'implementazione...

forse ho trovato il metodo per ridurlo a m*n (con m e n intese come le differenze tra le coordinate dei punti)

__________________
"Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh burzum-ishi krimpatul"


Posted by Simeon on 18-02-2006 19:57:

Originally posted by darkAntAreS
bhe, io non mi sto confrontando coi tempi del mio processore...è ovvio che se piazzo un algoritmo come il mio attuale riduci, a meno che non metto i 2 punti a distanze immani, la differenza di tempo non è apprezzabile...più che altro sto facendo i calcoli della complessità dei tempi degli algoritmi...
quindi il discorso di velocizzare le cose si basa sull'algoritmo, non sull'implementazione...

forse ho trovato il metodo per ridurlo a m*n (con m e n intese come le differenze tra le coordinate dei punti)


Ah capito. Io credo di metterci proprio il tempo che dici tu (m*n) perchè ho usato le matrici...


Posted by tandrea85 on 19-02-2006 15:31:

domanda stupidissima e veloce:
se uso un albero binario di ricerca e come chiavi uso le coordinate x,y di un punto come faccio a discriminare le chaivi per farle andare o nel sottoalbero sinistro o quello destro?


Posted by YoMo on 19-02-2006 15:36:

Originally posted by tandrea85
domanda stupidissima e veloce:
se uso un albero binario di ricerca e come chiavi uso le coordinate x,y di un punto come faccio a discriminare le chaivi per farle andare o nel sottoalbero sinistro o quello destro?


Io ho ordinato in base alla coordinata x ed, in caso di uguaglianza, in base alla y. Non sembrano esserci problemi, neanche cn le rotazioni (ho usato un rbtree).


Posted by tandrea85 on 19-02-2006 15:45:

Originally posted by YoMo
Io ho ordinato in base alla coordinata x ed, in caso di uguaglianza, in base alla y. Non sembrano esserci problemi, neanche cn le rotazioni (ho usato un rbtree).


grazie.. sono un beota non ci avevo pensato


Posted by Simeon on 19-02-2006 23:10:

Ma se per trovare il sottopercorso migliore io scandisco l'array che contiene il percorso UNA SOLA VOLTA... è tempo lineare vero ?

Se si, e se il mio algoritmo funziona, ho trovato una soluzione in tempo lineare.

Dubito molto fortemente della seconda ipotesi però...


Posted by darkAntAreS on 20-02-2006 00:21:

se riesci si, è tempo lineare...ma non riesco a immaginarlo...bhe, se funziona sei un grande ;)

__________________
"Ash nazg durbatulûk, ash nazg gimbatul, ash nazg thrakatulûk agh burzum-ishi krimpatul"


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

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