 |
mark |
| [QUOTE][i]Originally posted by Spr1gg4N [/i]
... |
05-06-2010 19:22 |
|
 |
mark |
.grande:maestro.

Registered: Oct 2003
Posts: 783 (0.10 al dì)
Location:
Corso: F49
Anno: finito!
Time Online: 8 Days, 18:34:33 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by Spr1gg4N
mmm si potrebbe una soluzione...però prima cmq bisogna eliminare tutti i nodi altrimenti la memoria è cmq occupata.
sporca numero 2
usare la funzione inorder() per visitare tutto l'albero e usare nodedelete() o similare per eliminare tutti i nodi
infine eliminare la radice con NULL
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
|
|
05-06-2010 19:22 |
|
|
|  |
 |
Spr1gg4N |
| esatto.
... |
06-06-2010 09:45 |
|
 |
Spr1gg4N |
.illuminato.
Registered: Sep 2007
Posts: 162 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 18:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
esatto.
Qualche idea sulla mia domanda riguardo la funzione lineare?
E' l'ultima cosa che mi manca per finire il progetto ma sono bloccato 
|
|
06-06-2010 09:45 |
|
|
|  |
 |
kalbiz |
| [QUOTE][i]Originally posted by Spr1gg4N [/i]
... |
06-06-2010 18:17 |
|
 |
kalbiz |
.primate.
Registered: Oct 2002
Posts: 72 (0.01 al dì)
Location: Milano
Corso: Informatica
Anno:
Time Online: 2 Days, 16:48:32 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by Spr1gg4N
Per quanto riguarda la funzione lineare ho un paio di domande:
1) se non esiste una componente che stia nello spazio tra due ganci che si fa? Si lascia vuoto quello spazio oppure si stampa il messaggio di errore?
2) nell'esempio 2, come secondo componente mette c1 oppure c2 che hanno entrambi estensione 12....come mai non sceglie c3 che è più corto dei precedenti ma ha estensione maggiore (24)?
EDIT:
-------------
quindi come soluzione possibile dell'esempio 2 io metterei anche:
69: (<c5,2>,<c3,7>,<c1,17>,<c6,24> ) oppure
69: (<c5,2>,<c3,7>,<c2,17>,<c6,8> )
voi che dite?
nelle specifiche dice che possono esserci anche diverse soluzioni per i dispositivi, basta che siano di dimensione massima ... quindi dovrebbe andare bene ...
io almeno ho interpretato così ...
|
|
06-06-2010 18:17 |
|
|
|  |
 |
mostrielo |
| [QUOTE][i]Originally posted by Spr1gg4N [/i]
... |
06-06-2010 21:28 |
|
 |
mostrielo |
boolean

Registered: Sep 2004
Posts: 47 (0.01 al dì)
Location: Milano
Corso: Informatica (F49)
Anno: c++
Time Online: 2 Days, 15:14:46 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by Spr1gg4N
Qualche idea sulla mia domanda riguardo la funzione lineare?
E' l'ultima cosa che mi manca per finire il progetto ma sono bloccato
Per l'operazione lineare si può procedere così:
1) opeazione 'c': in fase di costruzione dell'albero di ricerca (o rb) dei Componenti per Id, costruite un'altro albero ordinato per Area (per comodità si può aggiungere alla struct Componente l'attributo Area (l x h))
2) operazione 'l': fatevi dare dall'albero dei Componeneti per Area il max e provate a posizionarlo sul primo gancio dato (cioè se la lunghezza del rettangolo è <= alla distanza tra il primo e il secondo gancio):
- se ci sta lo appendete al gancio e vi fate dare il predecessore (di quello con area max corrente) e ripartite dal gancio successivo, se non ci sta provare a posizionarlo sul secondo gancio e cosi fino eventualmente fino all'n-esimo gancio;
- se non ci sta su nessun gancio dato, vi fate dare il predecessore (di quello con area max corrente) e ripetete a partire sempre dal primo gancio libero;
- tutto ciò finché non avete posizionato un Componente su ogni gancio dato oppure, a forza di chiedere il predecessore non avete percorso tutto l'albero (ovvero siete arrivati a quello con Area min). Se avete percorso tutto l'albero e non avete posizionato un rettagolo su ogni gancio dato allora non esiste un dispositivo lineare adeguato.
|
|
06-06-2010 21:28 |
|
|
|  |
 |
carla86 |
| [QUOTE][i]Originally posted by kalbiz [/i]
... |
06-06-2010 21:52 |
|
 |
carla86 |
.illuminato.
Registered: Dec 2006
Posts: 219 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 6 Days, 21:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by kalbiz
se ho anche solo un componente che si adatta ad uno dei ganci perchè non dovrebbe costruire un dispositivo ??
cioè
c 1 2 3 2 5
c 2 3 4 3 5
l 2 4 5
dovrebbe restituire
c 1 2 3 2 5
il comando lineare ke hai scritto tu forma un dispositivo composto da due componenti. quindi se nn ci sono due componenti che si adattano a quelle distanze allora nn ce un dispositivo adatto
|
|
06-06-2010 21:52 |
|
|
|  |
 |
carla86 |
| [QUOTE][i]Originally posted by misterx [/i]
... |
06-06-2010 21:55 |
|
 |
carla86 |
.illuminato.
Registered: Dec 2006
Posts: 219 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 6 Days, 21:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by misterx
io ho toccato il meno possibile evitando di eliminare quello che non è strattamente chiaro, al massimo viene passato un parametro che non viene usato in questa implementazione
grazie!! poi ho capito ke la funzione in più ke parlava d parametri era semplicemente una qualsiasi funzione (io l'ho sostituita con la printf) e nell'intestazione d funzione nn ho messo nulla.
|
|
06-06-2010 21:55 |
|
|
|  |
 |
carla86 |
| [QUOTE][i]Originally posted by Spr1gg4N [/i]
... |
06-06-2010 22:00 |
|
 |
carla86 |
.illuminato.
Registered: Dec 2006
Posts: 219 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 6 Days, 21:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by Spr1gg4N
ragazzi ma voi come avete risolto per l'input del comando "o" (ordina)?
non riesco proprio a creare un array di int che aumenti dimensione man mano che viene inserito un nuovo numero in input -.-'
questo problema ce l'avevo anke io e la risp del prof è stata:
"la lista è una struttura dati dinamica.."
quindi forse t conviene usare una lista.
|
|
06-06-2010 22:00 |
|
|
|  |
 |
carla86 |
| [QUOTE][i]Originally posted by Spr1gg4N [/i]
... |
06-06-2010 22:24 |
|
 |
carla86 |
.illuminato.
Registered: Dec 2006
Posts: 219 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 6 Days, 21:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by Spr1gg4N
ragazzi ma voi come avete risolto per l'input del comando "o" (ordina)?
non riesco proprio a creare un array di int che aumenti dimensione man mano che viene inserito un nuovo numero in input -.-'
se hai usato un albero binario d ricerca su algoteam ci sono la sia la funzione x cancellare un nodo dall'albero, sia la funzione x cancellare l'albero.
mentre invece x l'albero red-black ce solo la funzione x cancellare un nodo..
|
|
06-06-2010 22:24 |
|
|
|  |
 |
carla86 |
| [QUOTE][i]Originally posted by Spr1gg4N [/i]
... |
06-06-2010 22:27 |
|
 |
carla86 |
.illuminato.
Registered: Dec 2006
Posts: 219 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 6 Days, 21:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by Spr1gg4N
Per quanto riguarda la funzione lineare ho un paio di domande:
1) se non esiste una componente che stia nello spazio tra due ganci che si fa? Si lascia vuoto quello spazio oppure si stampa il messaggio di errore?
2) nell'esempio 2, come secondo componente mette c1 oppure c2 che hanno entrambi estensione 12....come mai non sceglie c3 che è più corto dei precedenti ma ha estensione maggiore (24)?
EDIT:
-------------
quindi come soluzione possibile dell'esempio 2 io metterei anche:
69: (<c5,2>,<c3,7>,<c1,17>,<c6,24> ) oppure
69: (<c5,2>,<c3,7>,<c2,17>,<c6,8> )
voi che dite?
per la domanda uno: io stamperei il messaggio d'errore,
in tutti quei casi in cui anke solo x uno spazio nn riesci a creare un dispositivo lineare stamperei il messaggio d'errore.
per la domanda due: il prof a ricevimento mi ha detto ke a lui va bene qualsiasi dispositivo lineare ke abbia estensione massima; e ke quelli scritti nel testo sono degli esempi ma potrebbero benissimo essercene altri.
a lui basta ke gliene stampi uno!!
|
|
06-06-2010 22:27 |
|
|
|  |
 |
carla86 |
| [QUOTE][i]Originally posted by mark [/i]
... |
06-06-2010 22:31 |
|
 |
carla86 |
.illuminato.
Registered: Dec 2006
Posts: 219 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 6 Days, 21:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by mark
sporca numero 2
usare la funzione inorder() per visitare tutto l'albero e usare nodedelete() o similare per eliminare tutti i nodi
infine eliminare la radice con NULL
cavolo a qst nn c'avevo pensato..
mi sembra un'ottima idea!!!
|
|
06-06-2010 22:31 |
|
|
|  |
 |
carla86 |
| ciao!!
... |
07-06-2010 10:12 |
|
 |
carla86 |
.illuminato.
Registered: Dec 2006
Posts: 219 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 6 Days, 21:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
ciao!!
qualcuno d voi ke ha implementato gli alberi di ricerca binaria e ha implementato anke la funzione di distruggere l'albero.
quando andate a compilare con -Wall e -ansi anke a voi da questo warning:
In function ‘distruggialbero’:
progetto.c:459: warning: suggest parentheses around assignment used as truth value
secondo voi da cosa è dovuto? vi copio la mia riga 459
while(p = cancella(p, p));
grazie
|
|
07-06-2010 10:12 |
|
|
|  |
 |
mostrielo |
| [QUOTE][i]Originally posted by carla86 [/i]
... |
07-06-2010 10:22 |
|
 |
mostrielo |
boolean

Registered: Sep 2004
Posts: 47 (0.01 al dì)
Location: Milano
Corso: Informatica (F49)
Anno: c++
Time Online: 2 Days, 15:14:46 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by carla86
ciao!!
qualcuno d voi ke ha implementato gli alberi di ricerca binaria e ha implementato anke la funzione di distruggere l'albero.
quando andate a compilare con -Wall e -ansi anke a voi da questo warning:
In function ‘distruggialbero’:
progetto.c:459: warning: suggest parentheses around assignment used as truth value
secondo voi da cosa è dovuto? vi copio la mia riga 459
while(p = cancella(p, p));
grazie
prova con while((p = cancella(p, p)));
|
|
07-06-2010 10:22 |
|
|
|  |
 |
carla86 |
| grazie, ha funzionato mancavano una coppia di pare ... |
07-06-2010 10:27 |
|
 |
carla86 |
.illuminato.
Registered: Dec 2006
Posts: 219 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 6 Days, 21:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
grazie, ha funzionato mancavano una coppia di parentesi!!
|
|
07-06-2010 10:27 |
|
|
|  |
 |
Guepe |
| sto impazzendo sull'ordinamento per costo...io mi ... |
07-06-2010 13:11 |
|
 |
Guepe |
.fedelissimo.
Registered: Feb 2007
Posts: 54 (0.01 al dì)
Location: Milano
Corso: informatica F49
Anno: 3
Time Online: 1 Day, 10:04:49 [...]
Status: Offline
Edit | Report | IP: Logged |
sto impazzendo sull'ordinamento per costo...io mi ritrovo una lista su kiave id con dentro i componenti presi dall'albero. come faccio a ordinarli in base al costo? come avete fatto voi?
|
|
07-06-2010 13:11 |
|
|
|  |
 |
carla86 |
| [QUOTE][i]Originally posted by Guepe [/i]
... |
07-06-2010 13:14 |
|
 |
carla86 |
.illuminato.
Registered: Dec 2006
Posts: 219 (0.03 al dì)
Location: Milano
Corso: Informatica
Anno: Terzo
Time Online: 6 Days, 21:40:54 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by Guepe
sto impazzendo sull'ordinamento per costo...io mi ritrovo una lista su kiave id con dentro i componenti presi dall'albero. come faccio a ordinarli in base al costo? come avete fatto voi?
quando li inserisci, invece ke inserirli in ordine d id inseriscili direttamente in ordine d costo..
|
|
07-06-2010 13:14 |
|
|
|  |
 |
| All times are GMT. The time now is 09:14. |
|
|
 |
|
 |
|
|
|  |
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
|
|
|
|
|
|