In informatica, una lista (in inglese list) è una struttura dati astratta e dinamica (la memoria usata non è necessariamente fisicamente contigua) che denota una collezione omogenea o container di dati. L'accesso a un elemento della struttura avviene direttamente solo al primo elemento della sequenza; per accedere a un qualunque elemento, occorre scandire sequenzialmente tutti gli elementi che lo precedono; è una struttura dati dinamica poiché può cambiare di dimensione grazie alle operazioni di inserimento ed eliminazione di elementi, diversamente al caso degli array standard.[1]

Operazioni fondamentali

[modifica | modifica wikitesto]

Le operazioni fondamentali offerte da una Lista sono le seguenti:

Implementazione

[modifica | modifica wikitesto]
Esempio di lista implementata mediante strutture collegate

Principalmente, vi sono due implementazioni delle Liste. Una utilizza come appoggio gli array, l'altra le strutture collegate; i due approcci si differenziano per le prestazioni offerte. In particolare, un ArrayList offrirà un accesso random al costo di O(1), mentre una LinkedList offrirà un costo O(n); dall'altro lato un inserimento su un ArrayList potrebbe costare O(n) (nel caso di ridimensionamento dell'array), mentre su una LinkedList costerà sempre O(1).

Algoritmi di gestione (iterativi)

[modifica | modifica wikitesto]

Algoritmi di gestione (ricorsivi)

[modifica | modifica wikitesto]

Tipi di lista

[modifica | modifica wikitesto]

Note

[modifica | modifica wikitesto]
  1. ^ Vito Lavecchia, Definizione e di Lista in informatica con implementazione in C, su Informatica e Ingegneria Online, 7 luglio 2017. URL consultato il 17 giugno 2024.

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàLCCN (ENsh85077455 · GND (DE4783888-7 · J9U (ENHE987007531493105171
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica