18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capitolo 17<br />

Strutture informative<br />

In questo capitolo verranno descritte le strutture informative più comuni che vengono utilizzate<br />

come “mattoni elementari” <strong>per</strong> costruire algoritmi complessi e dedicati a specifiche<br />

attività.<br />

In particolare, questo capitolo presenterà le cosiddette strutture astratte di dati, mentre il<br />

prossimo capitolo sarà dedicato alle strutture concrete che implementano le strutture astratte.<br />

Capita sovente che tali tecniche vengano presentate senza portare esempi concreti del loro<br />

utilizzo in situazioni pratiche, e quindi sono spesso <strong>per</strong>cepite come fini a loro stesse. Nelle sezioni<br />

seguenti, ciascuna dedicata ad una specifica tecnica di programmazione o algoritmo, si avrà cura<br />

di riportare esempi di casi concreti nei quali tali tecniche trovano impiego.<br />

17.1 Classificazione delle strutture di dati<br />

L’informazione elaborata da un calcolatore si presenta in una varietà di forme differenti che<br />

dipendono in genere d<strong>alla</strong> natura del problema da risolvere.<br />

Accanto a problemi che richiedono il trattamento di dati propriamente numerici, ve ne sono<br />

altri di natura non numerica che richiedono elaborazioni su sequenze di caratteri alfabetici, su<br />

schemi di flusso o grafi e altre opportune rappresentazioni.<br />

I dati si presentano quindi strutturati in modi differenti, <strong>per</strong> ciascuno dei quali è necessario<br />

individuare una rappresentazione interna al calcolatore che risulti conveniente <strong>per</strong> le elaborazioni<br />

da eseguire e <strong>per</strong> lo scambio di informazioni con l’esterno.<br />

Con il termine strutture informative, si comprendono:<br />

• le strutture dati astratte, proprie del problema e dipendenti unicamente da questo; tali<br />

strutture sono definite da un insieme di leggi che stabiliscono le relazioni esistenti fra i dati<br />

di un insieme finito;<br />

• le strutture dati concrete, ovvero relative allo stato interno della memoria nella quale le<br />

strutture sono memorizzate; le strutture concrete sono individuate dall’insieme di celle<br />

contenenti le informazioni e gruppi di regole <strong>per</strong> il loro ordinamento logico.<br />

Dal momento che ciascuna applicazione è spesso studiata <strong>per</strong> utilizzare specifiche strutture<br />

di dati, è opportuno esaminare i principali tipi di aggregati di dati dotati di una struttura logica,<br />

cioè le strutture astratte di dati, e i sistemi <strong>per</strong> la loro rappresentazione nella memoria di un<br />

calcolatore, cioè le possibili strutture concrete adatte a contenere le strutture astratte.<br />

151

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!