Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi A - F > Algoritmi e strutture dati > [ALGORITMI]Progetto Zoom
Pages (18): « First ... « 6 7 8 9 [10] 11 12 13 14 » ... Last »   Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
skorpius
.amico.

User info:
Registered: Apr 2003
Posts: 26 (0.00 al dì)
Location:
Corso:
Anno:
Time Online: 10:01:45 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
numeri naturali

raga, gestite in qualche modo il massimo dei numeri rappresentabili? Cioè se l'utente inserisce un bel
i 2^34 2^48 che cosa deve succedere?
Io credo che nelle supposizioni di correttezza dei comandi si intenda anche che non viene inserito alcun numero non rappresentabile, quindi non ho fatto nulla in proposito, ma secondo voi è una interpretazione corretta?

28-09-2004 15:28
Click Here to See the Profile for skorpius Click here to Send skorpius a Private Message Find more posts by skorpius Add skorpius to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Eruyomë
Duca di Elchingen

User info:
Registered: Feb 2003
Posts: 147 (0.02 al dì)
Location:
Corso: Informatica
Anno: II^ Magistrale
Time Online: 3 Days, 1:27:46 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ciao eskimo forse potresti fare un'altra lista dove ci metti quelle già controllate e chiami ricorsivamente una funzione (per esempio una specie di area) sulle cordinate di tutti i punti possibili adiacenti.
A me funziona, constatando o meno il fatto di avere già visitato o meno una cella attraverso la lista supplementare non va in loop.

__________________
Io sono la fata verde. Sono la rovina e il rimpianto, la vergogna e il disonore. Io sono la morte, io sono l'assenzio...

28-09-2004 16:54
Click Here to See the Profile for Eruyomë Click here to Send Eruyomë a Private Message Find more posts by Eruyomë Add Eruyomë to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
contezer0
.amico.

User info:
Registered: Jun 2003
Posts: 38 (0.00 al dì)
Location:
Corso: informatica
Anno: molto fuori
Time Online: 5:23:08: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by eskimo
Ciao, non credo di essere l'unico ad aver usato liste semplici per ordinare 1celle e kcelle... qualche idea su come scoprire un cammino?? non avendo liste di adiacenza come fare?? posso controllare


chi ti impedisce di usare liste di adiacenza?
non e' impossibile usare due strutture distinte (una per memorizzare le celle inserite e una per lavorarci su...) per i blocchi, l'area e il peso, una lista di adiacenza e' l'ideale, visto che il tempo e' lineare (in questo caso si puo' dire che e' lineare perche' il massimo grado del grafo delle celle e' 8)

28-09-2004 17:29
Click Here to See the Profile for contezer0 Click here to Send contezer0 a Private Message Find more posts by contezer0 Add contezer0 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
mitnik
.illuminato.

User info:
Registered: Jun 2002
Posts: 235 (0.03 al dì)
Location:
Corso:
Anno:
Time Online: 3 Days, 4:25:25 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Io , eskimo ho fatto cosi: Verifico che la k-cella sia occupata, se si la metto in una lista semplice di supporto;: poi controllo una ad una le 8 celle che la circondano, ognuna di esse che è occupata la metto nella lista (in coda). Una volta controllate le 8 celle della prima k-cella della lista di supporo passo alla seconda k-cella di tale lista e così per tutte quelle inserite. Alla fine conto quante k-celle ho nella lista di supporto e mi danno l'area. Fino ad ora ha funzionato.

Ora devo implementare la funzione blocchi. Consigli?

28-09-2004 17:29
Click Here to See the Profile for mitnik Click here to Send mitnik a Private Message Find more posts by mitnik Add mitnik to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
contezer0
.amico.

User info:
Registered: Jun 2003
Posts: 38 (0.00 al dì)
Location:
Corso: informatica
Anno: molto fuori
Time Online: 5:23:08: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ue' allora ma fiorentini preferisce un programma corto con strutture un po' ridondanti, o delle strutture perfette ma con un casino di funzioni vagamente simili?

28-09-2004 17:30
Click Here to See the Profile for contezer0 Click here to Send contezer0 a Private Message Find more posts by contezer0 Add contezer0 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
contezer0
.amico.

User info:
Registered: Jun 2003
Posts: 38 (0.00 al dì)
Location:
Corso: informatica
Anno: molto fuori
Time Online: 5:23:08: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by mitnik
Io , eskimo ho fatto cosi: Verifico che la k-cella sia occupata, se si la metto in una lista semplice di supporto;: poi controllo una ad una le 8 celle che la circondano, ognuna di esse che è occupata la metto nella lista (in coda). Una volta controllate le 8 celle della prima k-cella della lista di supporo passo alla seconda k-cella di tale lista e così per tutte quelle inserite. Alla fine conto quante k-celle ho nella lista di supporto e mi danno l'area. Fino ad ora ha funzionato.

Ora devo implementare la funzione blocchi. Consigli?


ma devi usare un flag che ti indica se sei gia' passato ...altrimenti non ti va in loop?

la funzione blocchi e' praticamente uguale! prendi una cella, fai la visita e colori quelle connesse, poi scorri nella struttura principale finche' non ne trovi una non visitata, incrementi il contatore e fai la visita, e cosi' via fino in fondo

28-09-2004 17:33
Click Here to See the Profile for contezer0 Click here to Send contezer0 a Private Message Find more posts by contezer0 Add contezer0 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
eskimo
.illuminato.

User info:
Registered: Jul 2003
Posts: 156 (0.02 al dì)
Location: Milano
Corso: informatica
Anno: 3datroppotempoormai
Time Online: 1 Day, 22:23:46 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

grazie per i consigli... alla fine stamattina mi sono scervellato e ho tirato fuori una funzione schifezza (tanto lo sono tutte, devo avere un progetto con complessità infinita! :) ) praticamente ho aggiunto una flag nella lista di kcelle che viene usata dalle mie funzioni area e peso... è una specie di attraversamento in ampiezza senza liste di adiacenza:
flag 0 = cella mai visitata flag = 1 cella scoperta ma non visitata flag = 2 cella visitata.
a partire dalla cella che inserisco come argomenti nella funzione controllo i suoi vicini e li metto a 1 oltre ad inserirli in una lista tipo stack, poi metto a 2 la suddetta cella, poi a uno ad uno dallo stack faccio la stessa cosa...
alla fine dovrebbe funzicare
speriamo!
grazie mille per i consigli!!! :) :)

28-09-2004 18:34
Click Here to See the Profile for eskimo Click here to Send eskimo a Private Message Find more posts by eskimo Add eskimo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
contezer0
.amico.

User info:
Registered: Jun 2003
Posts: 38 (0.00 al dì)
Location:
Corso: informatica
Anno: molto fuori
Time Online: 5:23:08: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by eskimo
grazie per i consigli... alla fine stamattina mi sono scervellato e ho tirato fuori una funzione schifezza (tanto lo sono tutte, devo avere un progetto con complessità infinita! :) ) praticamente ho aggiunto una flag nella lista di kcelle che viene usata dalle mie funzioni area e peso... è una specie di attraversamento in ampiezza senza liste di adiacenza:
flag 0 = cella mai visitata flag = 1 cella scoperta ma non visitata flag = 2 cella visitata.
a partire dalla cella che inserisco come argomenti nella funzione controllo i suoi vicini e li metto a 1 oltre ad inserirli in una lista tipo stack, poi metto a 2 la suddetta cella, poi a uno ad uno dallo stack faccio la stessa cosa...
alla fine dovrebbe funzicare
speriamo!
grazie mille per i consigli!!! :) :)


mah...e se usi solo 1 e 0? non funziona lo stesso?
tanto ti serve solo per non "tornare indietro" ...cioe' prendi la cella che metti come argomento...la poni a 1, metti tutti i suoi vicini a 1 e li poni nello stack, fai la pop(), ti da una cella...metti anche tutti i vicini di questa (che non siano gia' a 1) nello stack, altra pop(), eccetera ovviamente incrementando un contatore ogni volta che colori una cella.
non e' piu' una visita in ampiezza...ma del resto la visita in ampiezza serve per il cammino minimo...a noi non interessa!
anzi direi che si tratta di una visita in profondita'!

29-09-2004 01:50
Click Here to See the Profile for contezer0 Click here to Send contezer0 a Private Message Find more posts by contezer0 Add contezer0 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
contezer0
.amico.

User info:
Registered: Jun 2003
Posts: 38 (0.00 al dì)
Location:
Corso: informatica
Anno: molto fuori
Time Online: 5:23:08: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

correggetemi se ho appena detto una cavolata pero'!
mi rendo conto che devo ripassare parecchio la teoria!

qualcuno ha gia' fatto dei test? ad esempio...se faccio x inserimenti e ci metto un tempo t, e con 10x inserimenti il mio programma ci mette 10t, vuol dire che la complessita' in tempo della funzione inserimento e' logaritmica, giusto?
questo perche' se invece fosse un inserimento in una lista ordinata, e ogni volta beccassi il caso peggiore, all'n-esimo inserimento dovrei fare n-1 confronti...che sommati agli n-2 dell'inserimento appena precedente e cosi' via...sarebbe la sommatoria di n...e quindi O(n^2).
invece se il tempo cresce linearmente vuol dire che faccio un quadrato di un logaritmo in base 2...mi sa che non c'e' scampo e non si riesce a fare meglio di cosi'...almeno a me non vengono in mente altri metodi...qualche consiglio?

il caso medio dell'inserimento in una lista ordinata e' sempre n quadro?

29-09-2004 02:03
Click Here to See the Profile for contezer0 Click here to Send contezer0 a Private Message Find more posts by contezer0 Add contezer0 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
sirio
.illuminato.

User info:
Registered: Mar 2003
Posts: 187 (0.02 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 2 Days, 17:32:27 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by contezer0
allora...in breve...ho usato 3 alberi, adesso sto decidendo se ottimizzare implementandoli effettivamente tutti diversi (in pratica uno per le 1 celle, uno per le k celle anche se non hanno abbastanza "peso" , e uno per le k celle effettive.
su ognuno di questi in effetti ho bisogno di cose diverse, ma dover riscrivere il cancella(), l'inserisci(), l'inserisci_pesato() e il sistema_adiacenze() per ognuno mi triplicherebbe la lunghezza del codice...

se qualcuno ha seguito il corso mi puo' dire se fiorentini preferisce un codice corto e leggibile a scapito di alcune variabili non utilizzate, oppure una maggiore ottimizzazione a scapito di leggibilita' e dimensione del sorgente?

comunque...sull'albero delle k celle effettive ovviamente eseguo le varie funzioni di numero blocchi, area e peso.

la funza blocchi e' una semplice visita in profondita' ripetuta, in realta' la ricorsione va fatta con due funzioni e non con una sola per poter tener conto delle celle non ancora colorate nelle visite successive.


Ciao, visto che hai finito e che come me hai usato degli alberi mi spieghi come faccio a visitare tutti i nodi di un albero?
In pratica devo valutare il peso del nodo quando cambiano p e q.
Ho scritto questo codice ma non va:

void valutaPeso(nodo *n)
{
if (n->peso >= parR)
// operazioni per inserire nel blocco
}


void cambiaBlocco(nodo *n, valutaPeso(nodo *))
{
cambiaBlocco(n->left, valutaPeso);
cambiaBlocco(n->root, valutaPeso);
cambiaBlocco(n->right, valutaPeso);

}


Grazie

29-09-2004 07:28
Click Here to See the Profile for sirio Click here to Send sirio a Private Message Find more posts by sirio Add sirio to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
maynard80
.novellino.

User info:
Registered: Jul 2007
Posts: 3 (0.00 al dì)
Location: Milano (e non interland, tendo a precisare)
Corso: informatica
Anno: SESTO
Time Online: 12 Days, 14:28:38 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

sono un coglione...ho fatto la matrice come lista di liste.....e mi hanno spiegato solo ora che e' una cazzata...bene...... :(

__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !

29-09-2004 12:30
Click Here to See the Profile for maynard80 Click here to Send maynard80 a Private Message Find more posts by maynard80 Add maynard80 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
aghito
.primate.

User info:
Registered: Jun 2003
Posts: 71 (0.01 al dì)
Location: milano
Corso: Informatica
Anno: 3
Time Online: 20:29:57 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ho analizzato un po' la situazione per blocchi()..
dunque l'idea di eskimo mi sembra corretta anche se serve solo 0 e 1 come detto da contezer0.

senza usare lo stack invece si può settare una variabile visita nella kcella dove 0 non visitata,1 visitata 2 visitata e analizzata..
poi si procede nello stesso modo di prima..cioè
prendi la kcella e metti var kblocco della kcella a 1 e variabile visita a 2.prendi i vicini e metti kblocco 1 e visita a 1.poi procedi prendendo elemento con kblocco 1 e visita !=2 e ripeti..

quale sarà la migliore?

__________________
alessandro colombini

29-09-2004 14:53
Click Here to See the Profile for aghito Click here to Send aghito a Private Message Find more posts by aghito Add aghito to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
contezer0
.amico.

User info:
Registered: Jun 2003
Posts: 38 (0.00 al dì)
Location:
Corso: informatica
Anno: molto fuori
Time Online: 5:23:08: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by sirio
Ciao, visto che hai finito e che come me hai usato degli alberi mi spieghi come faccio a visitare tutti i nodi di un albero?
In pratica devo valutare il peso del nodo quando cambiano p e q.
Ho scritto questo codice ma non va:

void valutaPeso(nodo *n)
{
if (n->peso >= parR)
// operazioni per inserire nel blocco
}


void cambiaBlocco(nodo *n, valutaPeso(nodo *))
{
cambiaBlocco(n->left, valutaPeso);
cambiaBlocco(n->root, valutaPeso);
cambiaBlocco(n->right, valutaPeso);

}


Grazie


la funzione cambiaBlocco mi pare sia definita in modo un po' sbagliato....se devi passare un puntatore a funzione non devi mettere (in questo caso):

void cambiaBlocco(nodo *n, void*(funzione)(nodo *))

ma non sono sicurissimo pero'! okkio quando si lavora coi puntatori a funzione!!

29-09-2004 17:36
Click Here to See the Profile for contezer0 Click here to Send contezer0 a Private Message Find more posts by contezer0 Add contezer0 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
pincopallino
(S)chiappona

User info:
Registered: Jan 2003
Posts: 269 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: finiti gli esami
Time Online: 5 Days, 23:46:20 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

bah, con oggi io dovrei aver finito....quantomeno l'input che c'è nelle specifiche mi ritorna esattamente lo stesso output.....salvo sorprese dovrei aver fatto tutto come si deve =D

ora mi rimane solo da alcolare i tempi.....credo che la complessità del mio progetto sia altissima dato che ho usato solo una lista di adiacenza non ordinata

:D

l'importante è che non dia problemi....
speriam bene

__________________
"Che ne sai di un ragazzo che ti amava
che parlava e niente sapeva
eppur quel che diceva chissà perchè‚ chissà adesso è verità."

29-09-2004 20:00
Click Here to See the Profile for pincopallino Click Here to See the Blog of pincopallino Click here to Send pincopallino a Private Message Find more posts by pincopallino Add pincopallino to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
aghito
.primate.

User info:
Registered: Jun 2003
Posts: 71 (0.01 al dì)
Location: milano
Corso: Informatica
Anno: 3
Time Online: 20:29:57 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

chi ha degli input da provare?

__________________
alessandro colombini

29-09-2004 22:55
Click Here to See the Profile for aghito Click here to Send aghito a Private Message Find more posts by aghito Add aghito to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 17:35.    Post New Thread    Post A Reply
Pages (18): « First ... « 6 7 8 9 [10] 11 12 13 14 » ... Last »   Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.144 seconds (50.91% PHP - 49.09% MySQL) con 24 query.