Definizione delle strutture dati in informatica

Definizione delle strutture dati in informatica

Definizione delle strutture dati in informatica

In informatica, prima di approcciarsi alla programmazione attraverso un linguaggio di programmazione, è utile esaminare e conoscere i principali tipi di insiemi di dati dotati di una propria struttura logica (insiemi ai quali si dà il nome di strutture astratte di dati) e i principali sistemi per la loro rappresentazione nella memoria di un calcolatore elettronico o computer (ossia le cosiddette strutture concrete di dati adatte a contenere le strutture astratte).

Inoltre, il termine elemento (o anche nodo) viene utilizzato spesso per indicare la componente base di una struttura astratta di dati. Esso infatti potrà trattarsi di un dato semplice di un certo tipo oppure di una sequenza di dati semplici, anche di tipo diverso (ossia di ciò a cui viene dato il nome di record).

Si vuole ricordare, infine, che prima di procedere alla programmazione di un programma, con il termine struttura astratta di dati si  indica un  insieme finito di elementi e un insieme di leggi che definiscono le relazioni esistenti tra gli elementi dell’insieme.

Strutture dati statiche e dinamiche

Detto ciò, se si ha bisogno di risolvere un certo tipo di problema in informatica, è necessario considerare due aspetti fondamentali: i dati sui quali si intende lavorare e le operazioni che si intende compiere su tali dati. I due aspetti sono evidentemente collegati tra loro: infatti, la scelta della struttura dati influenza non poco l’algoritmo, il quale riguarda l’ “aspetto delle operazioni da eseguire”. In molti casi sono possibili più strutture alternative, tutte apparentemente idonee a risolvere bene uno stesso problema. Tuttavia, una attenta analisi sul costo, in termini di  operazioni  necessarie a seconda della struttura scelta, porta poi a preferire una  struttura rispetto alle altre. Viceversa, una scelta sbagliata potrebbe condizionare parecchio la scrittura dell’algoritmo.

Infine, bisogna dire che esistono due tipi fondamentali di strutture astratte di dati: le strutture statiche che richiedono che il  massimo numero di elementi appartenenti alla struttura stessa sia stabilito alla creazione e non possa venire in alcun modo modificato (come ad esempio gli array e le matrici statiche); e le strutture dinamiche, invece, che non impongono questo tipo di vincolo e perciò presentano dimensioni potenzialmente illimitate, che poi in realtà sono comunque limitate dalla memoria disponibile (come ad esempio le liste e i grafi).

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *