Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
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