![]() |
Pages (9): [1] 2 3 4 5 » ... 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 "Componenti Elettroniche" (http://www.dsy.it/forum/showthread.php?threadid=40479)
Progetto "Componenti Elettroniche"
E' uscito il nuovo progetto di Algoritmi.
Apro un thread per chi come me pensa (deve) farlo x l'8 giugno!!
ci son dentro ankio in quel "deve", se voglio laurearmi a dicembre. Per ora gli ho dato una prima lettura veloce e pensavo peggio.
Boh, vediamo un po'... teniamo questo thread come riferimento
Anke io mi "devo" laureare a dicembre....
Onestamente anche io pensavo peggio, invece tutto sommato per giugno (forse è x questo ke danno meno gg del solito) non è poi cosi catastrofico come pensavo...
Spero d nn dovermi ricredere!!!
mi aggiungo al coro dei "devo" e vi lascio già un dubbio...
ho guardato gli esempi di codice da provare e i relativi messaggi...
nel primo L (lineare) ovvero l'istruzione
l 2 7 17 24 26
il risultato del professore è:
69:
[
3 2 10 5 5, 2 (c5)
12 3 6 4 3, 7 (c1)
100 2 5 3 8, 17 (c3)
74 7 4 2 4, 24 (c6)
]
Nelle direttive del testo però dice che l'istruzione lineare può dare diverse soluzioni e infatti in questo caso le soluzioni possibili equivalenti sono:
c5 c1 c3 c6 (quella indicata dal professore)
c5 c2 c3 c6
c5 c3 c1 c6
c5 c3 c2 c6
Mi verrebbe da pensare che sia indifferente postare una o l'altra soluzione, ma più volte nella creazione dei dispositivi si dice che conta l'ordine dei componenti...quindi la soluzione giusta è solo la prima??
allora nel testo dice che un dispositivo è lineare se le posizioni dei componenti sono in ordine crescente, e se la posizione di una componente+la larghezza da esso occupata è minore o uguale della posizione del componente dopo.
quindi credo che sia x questo che ha scelto solo la prima xke sono tutti dispositivi ma la funzione lineare deve restituire solo il dispositivo lineare che ha la massima occupazione
Che struttura dati ipotizzate?
Rileggendo mi sembra che l'idea migliore sarebbe di avere una lista normale per i componenti e un albero rosso-nero.
Secondo voi?
cmq anche il secondo dispositivo (c5 c2 c3 c6) ha la stessa estensione del primo e soddisfa la proprietà di linearità. L'unica differenza sta nel secondo componente che è un 6x2 invece del c1 del (c5 c1 c3 c6) che è un 4x3 ma l'estensione rimane sempre la stessa.
Rileggendo ho notato che c'è scritto che il dispositivo lineare da x a xk+1 non per forza deve essere unico. Quindi entrambe le soluzione proposte dovrebbero andare bene come risultato (c5 c2 c3 c6) e (c5 c1 c3 c6). Per le altre due invece, che hanno gli stessi componenti del primo disp (c5 c1 c3 c6), ci deve essere qualcosa sull'ordine dei componenti che mi sfugge...
Infatti quando viene spiegata la funzione "lineare" si dice che ci possono essere più soluzioni, però mi chiedevo se era indifferente darne una o l'altra oppure va indicata in ordine di costruzione del componente... Il professore dice che l'ordine di fissaggio è rilevante...
Le ultime due soluzioni penso sia valide altrettanto perchè vengono rispettati i vincoli ed essendo uguali i pezzi anche l'estensione resta invariata...
Per quanto riguarda la struttura anche a me è venuta subito in mente una lista...infondo non ci sono eliminazioni, bisogna fare qualche inserimento e molte ricerche... forse utilizzando un grafo si migliorerebbe il tempo di ricerca però sarebbe difficile indicizzarlo perchè bisognerebbe capire bene qual'è il parametro da indicizzare...
Se conta l'ordine di inserimento la lista facilita tutto, altrimenti con il grafo si potrebbe indicizzare per codice (velocizza gli inserimenti) o per lunghezza/estensione (velocizza la funzione lineare)...
Ho riletto più volte, ma a parte trovare la frase " L'ordine di fissaggio delle componenti è rilevante" più volte non riesco a capire il perchè di tutta questa rilevanza
boh...
Per ora mi riguardo un po di C con cui non ho molta dimestichezza prima di incominciare a scrivere codice a caso pieno di errori
Io ho pensato a un grafo/albero per quanto riguarda le componenti, facendo inserimento in ordine di codice identificativo
Il fatto è ke ci sono 3 funzioni di ordinamento che però hanno criteri diversi:
ordina devi stampare tutti i componenti secondo il costo; mentre stampa devi stampare i componenti in ordine di codice, e stampa f idem solo ke devi controllare ke facciano parte di una sola famiglia.
però ho due dubbi:
1. nelle componenti voi memorizzate lunghezza e altezza o anche l'area visto che nella funzione lineare l'estensione del dispositivo è la somma delle aree?
2. i dispositivi li memorizzate in una struttura oppure non ce ne bisogno visto che lavoriamo in tutte e 5 le funzioni solo con le componenti?
ciao mi aggiungo per appello di giugno...
la domanda è come cercare ed ordinare una lista secondo i dati satellite ?
cioè come stampare i componenti in ordine di codice, se ho una lista con chiave costo?
avevo pensato ad inserire ogni componente nelle 3 liste ordiante secondo 3 diversi criteri... costo , codice, famiglia
per la parte dei dispositivi avevo persato ad un ulteriore struttura ad albero...
che ne pensate ?
oltretutto per le componenti non ho visto la parte di cancellazione o mi sbaglio
Originally posted by Guepe
Per ora mi riguardo un po di C con cui non ho molta dimestichezza prima di incominciare a scrivere codice a caso pieno di errori![]()
hai ragione...questo vorrebbe dire però che se non usiamo una lista ma un grafo, le componenti debbano essere indicizzate in base al codice indentificativo... però nell'ordinamento per costo e nella funzione lineare, ci andiamo a complicare la vita...il tutto senza contare che se bisogna veramente tenere conto dell'ordine di fissaggio è ancora più complicato
Ciao a tutti,
io sono rimasto un passo indietro... non riesco a capire nell'esempio con i due dispositivi:
D1 = ((c6,20),(c5,19),c1,4),(c4,2),c2,7)) e D2=((c2,1),(c3,8),(c1,11))
come ha fatto a calcolare l'estensione del primo dispositivo... il secondo l'ho capito... è la somma delle aree ma il primo no....
grazie
All times are GMT. The time now is 05:06. | Pages (9): [1] 2 3 4 5 » ... Last » Show all 127 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.