cletopolonia
05-07-2007, 16:54
ragazzi devo fare 1 progettino per l'esame di algoritmi..
Il problema.
Ho un negozio di caramelle, e devo gestire i contenitori che hanno:
- nome es. rosso
- una stringa es. r=rotonde q=quadrate l=lunghe c=corte
Dunque un contenitore è fatto così:
Rosso rrrqlll (ma potrebbero essere infinite...) e l'ordine è importante..
il contenitore di nome rosso contiene 3 caramelle rotonde, 1 quadrata e 3 lunghe.
teniamo presente che nel negozio ci sono 4 scatole così composte:
blu: lcc
rosso: lqccc
giallo: qlcc
nero: lqcllqc
e la tabella che segue rappresenta il grado di somiglianza della sequenza iniziale tra i contenitori.
-----------------
- - b | r | g | n |
-----------------
b | 3 | 1 | 0 | 1 |
-----------------
r | 1 | 5 | 0 | 3 |
-----------------
g | 0 | 0 | 4 | 0 |
-----------------
n | 1 | 3 | 0 | 7 |
-----------------
oltre alle solite operazioni di stampa, inserimento e cancellazione devo gestire 2 tip di ricerca:
1. ricerca x nome dei contenitori.
2. ricerca per sequenza di caramelle.
es.1) stampa tutti i treni con grado di somiglianza = 1 rispetto alla scatola blu
istruzione: ricerca 1 blu
es.2) ricerca tutti i contenitori che hanno 3 caramelle rotonde
come sequenza iniziale.
istruzione: ricerca rrr
considerando che si devono gestire grandi quantità di dati dovrei ottimizzare l'uso dello spazio per la memorizzazione dei contenitori.
Sapreste aiutarmi sulla scelta della struttura dati??
- grafi
- lista (sconsigliata)
- alberi binari di ricerca
- alberi 2-3
- alberi 2-3-4
- alberi red-black
- etc..
vi ringrazio in anticipo e confdo in voi perchè io non so cosa scegliere...
Il problema.
Ho un negozio di caramelle, e devo gestire i contenitori che hanno:
- nome es. rosso
- una stringa es. r=rotonde q=quadrate l=lunghe c=corte
Dunque un contenitore è fatto così:
Rosso rrrqlll (ma potrebbero essere infinite...) e l'ordine è importante..
il contenitore di nome rosso contiene 3 caramelle rotonde, 1 quadrata e 3 lunghe.
teniamo presente che nel negozio ci sono 4 scatole così composte:
blu: lcc
rosso: lqccc
giallo: qlcc
nero: lqcllqc
e la tabella che segue rappresenta il grado di somiglianza della sequenza iniziale tra i contenitori.
-----------------
- - b | r | g | n |
-----------------
b | 3 | 1 | 0 | 1 |
-----------------
r | 1 | 5 | 0 | 3 |
-----------------
g | 0 | 0 | 4 | 0 |
-----------------
n | 1 | 3 | 0 | 7 |
-----------------
oltre alle solite operazioni di stampa, inserimento e cancellazione devo gestire 2 tip di ricerca:
1. ricerca x nome dei contenitori.
2. ricerca per sequenza di caramelle.
es.1) stampa tutti i treni con grado di somiglianza = 1 rispetto alla scatola blu
istruzione: ricerca 1 blu
es.2) ricerca tutti i contenitori che hanno 3 caramelle rotonde
come sequenza iniziale.
istruzione: ricerca rrr
considerando che si devono gestire grandi quantità di dati dovrei ottimizzare l'uso dello spazio per la memorizzazione dei contenitori.
Sapreste aiutarmi sulla scelta della struttura dati??
- grafi
- lista (sconsigliata)
- alberi binari di ricerca
- alberi 2-3
- alberi 2-3-4
- alberi red-black
- etc..
vi ringrazio in anticipo e confdo in voi perchè io non so cosa scegliere...