Newsgroup: it.comp.lang.c
Titolo: Progetto universitario

Salve a tutti devo realizzare un progetto universitario solo che ho dei
dubbi sulle strutture dati che devo utilizzare per l'implementazione,il
testo del progetto è reperibile a questo indirizzo:
http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/giacimenti.pdf
Devo lavorare con delle matrici anche molto grosse,voi cosa consigliate...
La prima cosa che mi è venuta in mente sono state tabelle di hash.. però
mi sà che ho pensato male...
ovviamente il tutto deve essere realizzato in c.... Grazie per i
suggerimenti ciao ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
http://homes.dsi.unimi.it/~aguzzoli/didattica/algo/giacimenti.pdf
Se posso permettermi, nessuno farà il tema d'esame per te; inoltre le 
modalità d'esame riportano che "la realizzazione del progetto è una 
prova d'esame da svolgersi _individualmente_. I progetti giudicati 
frutto di collaboraizioni saranno estromessi d'ufficio dalla 
valutazione.".
Questo non vuol dire che non otterrai aiuto, ma il tuo progetto è ancora 
troppo acerbo; butta giù qualcosa di più articolato, se poi hai dubbi o 
problemi posta qui, penso che qualcuno ti risp0onderà.
Ciao
  Andrea

 Se posso permettermi, nessuno farÃ  il tema d'esame per te; 
No non ti puoi proprio permettere,perchè non ho assulutamente chiesto a
nessun di fare il progetto per me,ho solo chiesto un consiglio sulle
strutture dati da utilizzare.
Sarebbe stato meglio non trovare nessuna risposta invece che il solito
coglione che si diverte ad impartire lezioni di vita..


 coglione che si diverte ad impartire lezioni di vita..
Lo stai offendendo senza motivo.
La scelta della struttura dati da utlizzare ha un'importanza fondamentale
nella stesura di un programma, se non sai che struttura dati scegliere
vuol dire che non sai nemmeno da dove partire, quindi: non sai fare il 
progetto.
E poi ti ha detto che se posti qualche informazioni aggiuntiva, sicuramente
troverai chi sarà disposto ad aiutarti.
Vai a studiare, forse riesci a toglierti quella scorza da ignorante che hai
addosso.
Merendina 

 tabelle di hash.. però mi sà che ho pensato male...
A me è venuta in mente una soluzione basata su kd-tree. Ogni matrice che 
inserisci è in realtà una collezione di punti con un valore. Se il punto non 
esiste, questo viene considerato avere valore 0. Il kd-tree ti consente di 
accedere a tutti i punti in maniera, credo, efficiente. In realtà qualcosa 
che tiene le matrici tutte assieme può essere migliore, ma non sono 
sicurissimo di come risolvere il problema delle intersezioni.
Facendo riferimento all'esempio che c'è nel testo dell'esercizio, aggiungere 
il rilevamento R1 al sistema di rilevamento è equivalente ad aggiungere i 
punti (a fianco ho segnato il valore):
(2,5) 6
(3,5) -2
(4,5) 10
(2,4) 8
(3,4) 1
(4,4) 3
Analogamente R2:
(3,4) 4
(4,4) -3
(3,3) 1
(4,3) 7
(3,2) -3
(4,2) 2
Analogamente R3:
(4,5) -6
(5,5) -2
(4,4) 8
(5,4) -1
A questo punto è sufficiente memorizzare in un kd-tree i vari punti. Se 
durante l'inserimento trovi che il punto esiste già ne aggiorni 
semplicemente il valore. Alla fine si può pensare di bilanciare l'albero, 
estraendo la lista dei punti dall'albero (qualsiasi ordine di 
attraversamento va bene) e poi di inserirli di nuovo, tutti assieme con la 
tecnica del mediano. L'operazione "area" è più difficoltosa e la baserei 
sull'operazione "valore". Credo che esistano delle tecniche standard per 
estrarre tutti i punti all'interno di un'area di un kd-tree, ma non ne so 
molto.
-- 
Costantino Grana