![]() |
Pages (2): « 1 [2] 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 "DIE HARD" (http://www.dsy.it/forum/showthread.php?threadid=39661)
Originally posted by ste182
orientato? quindi duplichi i nodi contenenti configurazioni uguali?
in quanto ai pesi non servono, ogni arco ha peso 1, quindi il cammino minimo si trova con una visita in ampiezza che ti genera il sottografo dei cammini
__________________
Nel mondo esistono 10 tipi di persone: quelle che conoscono il linguaggio binario e quelle che non lo conoscono
Originally posted by ste182
sinceramente non so dirti se si può considerare un grafo in quel modo.. però credo di no perchè un grafo per definizione è un insieme di vertici collegati fra loro con archi.
mettendo tutto su un unica lista è un pò come se dicessi che il primo nodo è adiacente direttamente a tutti gli altri.. però potrebbe anche andare bene eh.. non saprei..
Originally posted by francescoo
quindi dici di implementarlo tramite liste di adiacenza?
o come?
perchè come l'ho fatto io è una lista concatenata effettivamente..
e non riesco a capire ad es come l'ho fatta io il costo quale sarebbe?
n perchè nel caso peggiore la devo scorrere tutta?
__________________
Live Fast, Die Fun
Torno un attimo sull argomento configurazioni.
Ho la configurazione di partenza memorizzata in una lista bidirezionale:
struct intlist {
struct contenitore c;
struct intlist *next, *prev;
};
(La struttura contenitore è formata da 3 campi int ovvero ID,stato,capacita);
Ora qualcuno mi puo spiegare come posso generare tutte le possibili configurazioni?
Ragazzi, vi posto i miei dubbi notturni...
1) Comando configurazione: ho trovato un modo per trovare le 16 combinazioni possibili con 2 contenitori. L'ordine di estrazione è importante? C'è un ordine fisso in cui se li aspetta il prof?
2) nel 1' esempio a pag. 7, quando fa il comando "c 2", non mi tornano la riga 7, 9 e 10. In questo caso partendo da una situazione in cui tutti i contenitori sono pieni, come possono uscire i punti precedenti?
3) nell'istruzione "esiste" ho provato a generare tutte le possibili combinazioni partendo da 2 contenitori, ne ho trovate 16. Con n vasi quante se ne possono trovare? Pensavo, nel caso di 2 contenitori, a 2^2^2, ma mi sembra proprio un azzardo, c'è una regola per capire quante combinazioni è possibile estrarre da n contenitori?
Originally posted by asterix07
Torno un attimo sull argomento configurazioni.
Ho la configurazione di partenza memorizzata in una lista bidirezionale:
struct intlist {
struct contenitore c;
struct intlist *next, *prev;
};
(La struttura contenitore è formata da 3 campi int ovvero ID,stato,capacita);
Ora qualcuno mi puo spiegare come posso generare tutte le possibili configurazioni?
__________________
Live Fast, Die Fun
Originally posted by BeppeGoal
Ragazzi, vi posto i miei dubbi notturni...
1) Comando configurazione: ho trovato un modo per trovare le 16 combinazioni possibili con 2 contenitori. L'ordine di estrazione è importante? C'è un ordine fisso in cui se li aspetta il prof?
2) nel 1' esempio a pag. 7, quando fa il comando "c 2", non mi tornano la riga 7, 9 e 10. In questo caso partendo da una situazione in cui tutti i contenitori sono pieni, come possono uscire i punti precedenti?
3) nell'istruzione "esiste" ho provato a generare tutte le possibili combinazioni partendo da 2 contenitori, ne ho trovate 16. Con n vasi quante se ne possono trovare? Pensavo, nel caso di 2 contenitori, a 2^2^2, ma mi sembra proprio un azzardo, c'è una regola per capire quante combinazioni è possibile estrarre da n contenitori?
)__________________
Live Fast, Die Fun
@ste182
Quando nel punto 1 dici "se è stato riempito crei un nuovo nodo": il nuovo nodo lo aggiungo alla lista duplicata oppure ad una nuova lista apposita?
Originally posted by asterix07
@ste182
Quando nel punto 1 dici "se è stato riempito crei un nuovo nodo": il nuovo nodo lo aggiungo alla lista duplicata oppure ad una nuova lista apposita?
__________________
Live Fast, Die Fun
Ragazzi, ok il technorebel e' riuscito a farlo girare tutto e sembra funzionare senza strani segmentation fault
)))), adesso mi chiedo....c'e' qualcuno che puo' dirmi come si stima in tempo di calcolo e costi da mettergli nella relazione!?!....adoro i grafi..pero'...:!!!!!
__________________
C0d3 Z3r0
Ciao ragazzi, sto implementando il progetto, ho messo i vasi in una lista, ogni indice della lista è un record con i seguenti dati
Dimensione attuale
Dimensione massima
ora mi chiedo
1) con n vasi quante combinazioni ci sono di operazioni elementari? Come si calcola?
2) sapendo che con 2 vasi ci sono 16 combinazioni, salvo queste combinazioni in una seconda struttura, non capisco perchè voi parlate di grafi, se si implementa un grafo con le liste di adiacenza, metto nella lista le 16 combinazioni, e gli indici di queta lista a cosa puntano?
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
@Loreste vedo che sei di Bg pure Te!
io ho realizzato un grafo, dalla matrice di tutte le combinazioni tolgo quelle che nn sono possibili, trovando i nodi del grafo, poi passi alla lista di adiacenza (vedi cormen), da li realizzi i puntatori ai nodi successivi tramite le operazioni elementari.
PS: qualcuno sulle stime di tempi di calcolo!!!?? 
__________________
C0d3 Z3r0
Scusa ma non ho capito, mi spieghi come calcoli le combinazioni?
Inoltre, se ho i vasi 3 e 5, creo la seguente lista
(0[3],5[5]);
(3[3],2[5]);
(0[3],2[5]);
(2[3],0[5]);
(2[3],5[5]);
(3[3],4[5]);
....................
....................
Creata questa lista, cosa si mette nelle liste di adiacenza?
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
Ragazzi io ho le seguenti strutture:
struct contnitore{
int id;
in stato;
int capacita;
}
poi ho una lista bidirezionale di contenitori che memorizza la configurazione di partenza
struct intlist {
struct contenitore c;
struct intlist *next, *prev;
};
(per intenderci intlist contiene ad es 0[3]0[5]).
Ora qualcuno è in grado di descrivermi come devo fare la struttura per memorizzare le configurazioni possibili, man mano che vengano create(grafo o lista che sia).....Grazie in anticipo
@asterix07 tu hai la mia stessa struttura, ma guarda che intlist hai un vaso per indice, per interderci NON hai0[3]0[5] ma hai una lista fatta cosi 0[3] -> 0[5] -> nil
Detto questo hai il mio stesso problema, come si calcola le combinazioni? Si sa che con 2 vasi hai 16 combinazioni, ma con 3?
Infine io pensavo di fare una lista con le combinazioni fatta cosi
(0[3],5[5]);
(3[3],2[5]);
(0[3],2[5]);
(2[3],0[5]);
(2[3],5[5]);
(3[3],4[5]);
................
ma qui tutti parlano di grafo, e non capisco cosa mettono nelle liste di adiacenza....
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
nella lista di adiacenza ci vanno tutti nodi che sono raggiungibili dal nodo di partenza eseguendo tutte e 3 le operazioni elementari.
vi posto il grafo con le liste come l'ho implementato:
code:
nodi lista adiacenze (0[3],0[5]) (3[3],0[5]) (0[3],5[5]) (3[3],0[5]) (3[3],5[5]) (0[3],0[5]) (0[3],3[5]) (0[3],5[5]) (3[3],5[5]) (0[3],0[5]) (3[3],2[5]) (3[3],5[5]) (0[3],5[5]) (3[3],0[5]) (0[3],3[5]) (3[3],3[5]) (0[3],5[5]) (0[3],0[5]) (3[3],0[5]) (3[3],2[5]) (3[3],5[5]) (0[3],2[5]) (3[3],0[5]) (0[3],5[5]) (3[3],3[5]) (3[3],5[5]) (0[3],3[5]) (3[3],0[5]) (1[3],5[5]) (0[3],2[5]) (3[3],2[5]) (0[3],5[5]) (0[3],0[5]) (2[3],0[5]) (1[3],5[5]) (3[3],5[5]) (0[3],5[5]) (1[3],0[5]) (3[3],3[5]) (2[3],0[5]) (3[3],0[5]) (2[3],5[5]) (0[3],0[5]) (0[3],2[5]) (1[3],0[5]) (3[3],0[5]) (1[3],5[5]) (0[3],0[5]) (0[3],1[5]) (2[3],5[5]) (3[3],5[5]) (0[3],5[5]) (2[3],0[5]) (3[3],4[5]) (0[3],1[5]) (3[3],1[5]) (0[3],5[5]) (0[3],0[5]) (1[3],0[5]) (3[3],4[5]) (3[3],5[5]) (0[3],4[5]) (3[3],0[5]) (2[3],5[5]) (3[3],1[5]) (3[3],5[5]) (0[3],1[5]) (3[3],0[5]) (0[3],4[5]) (0[3],4[5]) (3[3],4[5]) (0[3],5[5]) (0[3],0[5]) (3[3],1[5])
__________________
Live Fast, Die Fun
Si sa qualcosa dell'orale?
__________________
Annunci Gratis : La nuova dimensione degli annuci online - Jabbi.it
#ste82 potresti spiegarmi come fai i seguenti passi della lista?
(0[3],0[5]) situazione inizile questo è chiaro
(3[3],0[5]) R1 prima operazione elementare
(0[3],5[5]) qua esegui S1 e R2??? sono 2 operazioni
(3[3],5[5]) qua esegui R1
non capisco se partendo da (0[3],0[5]) il successivo deve essere l'aggiunta di una sola operazione elementare, quindi non mi è chiaro come da (3[3],0[5]) arrivi a (0[3],5[5]) con una sola operazione elementare
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
Originally posted by loreste
#ste82 potresti spiegarmi come fai i seguenti passi della lista?
(0[3],0[5]) situazione inizile questo è chiaro
(3[3],0[5]) R1 prima operazione elementare
(0[3],5[5]) qua esegui S1 e R2??? sono 2 operazioni
(3[3],5[5]) qua esegui R1
non capisco se partendo da (0[3],0[5]) il successivo deve essere l'aggiunta di una sola operazione elementare, quindi non mi è chiaro come da (3[3],0[5]) arrivi a (0[3],5[5]) con una sola operazione elementare
__________________
Live Fast, Die Fun
@loreste:
Ma tu quindi continui con la stessa struttura (lista adiacenza) o la cambi con i vettori?
ok, ho capito, cmq procedo con le liste di adiacenza. Grazie a tutti
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
Scusate, voi come fate a leggere n valori in input nell'esecuzione di una funzione?
Ad esempio nell'esecuzione del comando "configurazione",
se devo leggere 2 valori potrei usare scanf("%d%d",&n1,n2), ma per più valori?
raga, ma l'orale di Aguzzoli come e'? cioe' il progetto ok, ma ti chiede la righina in particolare?!! sinceramente dopo 1047 righe ultra commentate nn vorrei che ti andasse a chiedere il pelo nell'uovo?!!!
ricordarmi cio' che ho scritto nelle vacanze di Natale....nzommmma
)
...spero nn sia un'interrogazione sul C....e' uno strumento utile per risolvere un problema, pero' chi se le ricorda ora le dispense!"!!
__________________
C0d3 Z3r0
ragazzi qualcuno sa spiegarmi con che idea è riuscito ad implementare la funzione configurazioni(d) ?
grazie
ma va l'orale di aguzzoli è una vaccata.. devi spiegargli che strutture hai usato.. perche le hai usate, e se ci sono metodi per poter fare meglio...ma tutto con la teoria...la parte difficile è quella di torelli...
grazie Palaz!! allora sotto con la teoria!!!
e speriamo di passare l'esamone!! dopo 1 mese di progetto!!
__________________
C0d3 Z3r0
ragazzi una domanda...
ma se io dichiaro pericolosa una configurazione, ho capito che non deve più essere utilizzata in operazioni come contenenti o mosse...ma se dovessi raggiungerla con le operazioni elementari R S e T ?
ad esempio:
mettiamo che abbia questa situazione iniziale: 0[3] 0[5]
dichiaro pericolosa 3[3] 5[5] con:
>p 3 5
se poi faccio
>R 1
>R 2
va bene o dovrebbe stamparmi qualcosa per avvertirmi che sono in una configurazione pericolosa?
DA quanto ho capito io dovrebbe dichiararla pericolosa e non farla eseguire
quindi dovrebbe stamparmi "operazione pericolosa" e non eseguirla giusto?
grazie mille!
Io l'ho interpretata cosi...prego
ciao a tutti,
finalmente ho superato algoritmi ![]()
![]()
![]()
![]()
![]()
![]()
volevo ringraziare tutti e per chi ancora lo deve sostenere vi dico che l'orale non è per niente difficile anzi..
il prof.Torelli è molto disponibile e ti fa ragionare..
in bocca al lupo..(crepi..)
ciauu
mi associo! un bel 24 intascato!! attenti a non sottovalutare il progetto, se lo avete fatto bene, cmq ricordatevi come funzionano precisamente tutte le strutture dati! e perche' le avete scelte, Aguzzoli s vuoli scende nei dettagli delle singole implementazioni, Torelli e' un docente magnifico! non lasciate cmq capitoli a zero, almeno una lettura fatela. Poi se nn ci arrivate, Lui e' disponibilissimo a farvi ragionare e se nn sapete a capire, e' importante e difficile questo esame.
In bocca al lupo a tutti!! adesso statistica e poi tesi!!
__________________
C0d3 Z3r0
Come fareste la funzione mosse(k) avendo tutte le configurazioni salvate in un albero binario?
ciao, fai una BFS (ricerca in ampiezza) a partire dalla sorgente e ogni volta che scopri un nuovo nodo salva da qualche parte il nodo che l'ha scoperto per primo...in poche parole definisci il padre. Alla fine della bfs trovi la configurazione di livello k ideale e tramite una semplice funzione ricorsiva stampi i padri...di fatto la sequenza più corta di nodi che ha portato a scoprirla.
Scusate, qualcuno che ha passato l'esame del progetto Die Hard, potrebbe postarlo nell'area filez?
Grazie a tutti!
| All times are GMT. The time now is 01:04. | Pages (2): « 1 [2] Show all 185 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.