Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
• dai suoi due indici<br />
• da due puntatori agli elementi successivi su riga e colonna<br />
18.7 Memorizzazione delle strutture astratte: tavole<br />
Sono memorizzate tipicamente in strutture sequenziali.<br />
I metodi <strong>per</strong> l’accesso ai singoli elementi possono essere molto diversi in funzione dell’uso<br />
previsto <strong>per</strong> le tavole stesse: la scelta del metodo ha l’obiettivo di minimizzare la lunghezza<br />
di ricerca (numero di chiavi esaminate prima di raggiungere l’elemento corrispondente ad una<br />
chiave prefissata).<br />
I metodi più diffusi sono:<br />
• ricerca sequenziale<br />
• ricerca binaria<br />
• accesso diretto<br />
• accesso calcolato (hash)<br />
18.8 Ricerca sequenziale<br />
Gli elementi nella tabella sono allocati senza seguire alcuna regola di ordinamento.<br />
L’o<strong>per</strong>azione di ricerca si effettua scandendo gli elementi della tabella fino al re<strong>per</strong>imento<br />
della chiave desiderata.<br />
è una tecnica scarsamente efficiente in cui il tempo medio di ricerca è pari a N/2, se N è la<br />
lunghezza della tavola.<br />
Si può migliorare il tempo di accesso concentrando gli elementi in cui si prevede un accesso<br />
frequente nelle prime posizioni.<br />
Una tavola su cui si o<strong>per</strong>a una ricerca sequenziale può essere memorizzata come struttura<br />
sequenziale o a catena.<br />
18.9 Ricerca binaria<br />
La tavola deve essere ordinata secondo le chiavi.<br />
La ricerca binaria richiede il confronto fra la chiave cercata e quella dell’elemento centrale<br />
della tavola.<br />
Il risultato del confronto indica se la ricerca ha termine oppure in quale metà della tavola<br />
deve continuare.<br />
Il procedimento viene iterato.<br />
Il tempo massimo di ricerca è log2N.<br />
E’ una tecnica di ricerca veloce, ma è difficile inserire nuovi elementi (riordino delle chiavi).<br />
Una tavola su cui si o<strong>per</strong>a una ricerca binaria deve essere memorizzata come struttura sequenziale<br />
con elementi di lunghezza costante, dato che l’accesso deve avvenire tramite calcolo<br />
dell’indirizzo.<br />
171