sabato 23 dicembre 2023

CORSO STRUTTURA DI UN LINGUAGGIO DI PROGRAMMAZIONE: Lezione 4 Strutture di dati

4: Strutture di dati

4.1 Array e Liste

Strutture dati:

La sintassi per definire e manipolare strutture dati come array, liste, dizionari, set ecc., varia tra i linguaggi.

Le strutture dati sono fondamentali in programmazione e consentono di organizzare e gestire dati in modo efficiente. La sintassi per definire e manipolare strutture dati come array, liste, dizionari, set, ecc., può variare notevolmente tra i linguaggi di programmazione.


Ecco una panoramica delle strutture dati comuni e delle loro sintassi in alcuni linguaggi:


Array:

Definizione:

Gli array sono raccolte ordinate di elementi dello stesso tipo.


Esempi in diversi linguaggi:

Python:

python

Copy code

array = [1, 2, 3, 4, 5]  # Definizione di un array in Python

JavaScript:

javascript

Copy code

let array = [1, 2, 3, 4, 5];  // Definizione di un array in JavaScript

Java:

java

Copy code

int[] array = {1, 2, 3, 4, 5};  // Definizione di un array in Java

Liste:

Definizione:

Le liste sono collezioni ordinate di elementi che possono variare in tipo e dimensione.

Esempi in diversi linguaggi:

Python:

python

Copy code

lista = [1, "due", True, 3.14]  # Definizione di una lista in Python

JavaScript:

JavaScript utilizza array per rappresentare liste simili a Python.


Java:

Java offre la classe ArrayList per lavorare con liste:

java

Copy code

import java.util.ArrayList;

ArrayList<Integer> lista = new ArrayList<>();  // Definizione di una lista in Java

Dizionari/Mappe/Hashmap:


Definizione:

Strutture dati che memorizzano una mappatura tra chiavi e valori.


Esempi in diversi linguaggi:

Python:

python

Copy code

dizionario = {'chiave1': 'valore1', 'chiave2': 'valore2'}  # Definizione di un dizionario in Python

JavaScript:

JavaScript utilizza gli oggetti per rappresentare mappe:

javascript

Copy code

let mappa = {'chiave1': 'valore1', 'chiave2': 'valore2'};  // Definizione di una mappa in JavaScript

Java:

java

Copy code

import java.util.HashMap;

HashMap<String, Integer> mappa = new HashMap<>();  // Definizione di una mappa in Java

Set:

Definizione:

Strutture dati che memorizzano elementi unici, senza duplicati.

Esempi in diversi linguaggi:

Python:

python

Copy code

insieme = {1, 2, 3, 4, 5}  # Definizione di un set in Python

JavaScript:

JavaScript offre l'oggetto Set:

javascript

Copy code

let insieme = new Set([1, 2, 3, 4, 5]);  // Definizione di un set in JavaScript

Java:

java

Copy code

import java.util.HashSet;

HashSet<Integer> insieme = new HashSet<>();  // Definizione di un set in Java


Le strutture dati sono strumenti fondamentali per organizzare e manipolare dati in un programma. La scelta della struttura dati dipende dal linguaggio di programmazione e dalle esigenze specifiche dell'applicazione. Ogni linguaggio offre diverse strutture dati con diverse funzionalità e capacità, e l'uso corretto di queste strutture può migliorare l'efficienza e la chiarezza del codice.


4.2 Dizionari e Set


Dizionari e librerie

In informatica, i termini "dizionari" e "librerie" si riferiscono a concetti diversi:


Dizionari:

Dizionari (o mappe) come struttura dati:

Un dizionario è una struttura dati che associa chiavi univoche a valori corrispondenti. È composto da coppie chiave-valore, dove ogni chiave ha associato un unico valore. È utilizzato per la memorizzazione e il recupero efficiente dei dati basati su chiavi univoche. Nei linguaggi di programmazione come Python, JavaScript e altri, i dizionari sono utilizzati per gestire associazioni chiave-valore e sono implementati come strutture dati native.

Un esempio di come un dizionario sia rappresentato in diversi linguaggi di programmazione:


Esempio in Python:

python

Copy code

# Creazione di un dizionario in Python

dizionario = {

    'nome': 'Mario',

    'cognome': 'Rossi',

    'età': 30,

    'professione': 'Ingegnere'

}


# Accesso ai valori tramite le chiavi

print("Nome:", dizionario['nome'])

print("Età:", dizionario['età'])

print("Professione:", dizionario['professione'])


# Modifica di un valore nel dizionario

dizionario['età'] = 35


# Aggiunta di un nuovo elemento

dizionario['email'] = 'mario.rossi@email.com'


# Rimozione di un elemento

del dizionario['professione']


# Stampa del dizionario aggiornato

print(dizionario)

In questo esempio Python, abbiamo creato un dizionario con informazioni su una persona, utilizzando le chiavi 'nome', 'cognome', 'età' e 'professione'. Abbiamo poi acceduto ai valori tramite le chiavi, modificato un valore, aggiunto un nuovo elemento e rimosso un elemento esistente.


Esempio in JavaScript:

javascript

Copy code

// Creazione di un dizionario in JavaScript (oggetto)

let dizionario = {

    nome: 'Mario',

    cognome: 'Rossi',

    età: 30,

    professione: 'Ingegnere'

};


// Accesso ai valori tramite le chiavi

console.log("Nome:", dizionario.nome);

console.log("Età:", dizionario.età);

console.log("Professione:", dizionario.professione);


// Modifica di un valore nel dizionario

dizionario.età = 35;


// Aggiunta di un nuovo elemento

dizionario.email = 'mario.rossi@email.com';


// Rimozione di un elemento

delete dizionario.professione;


// Stampa del dizionario aggiornato

console.log(dizionario);

In JavaScript, la struttura dati che rappresenta un dizionario è un oggetto {}. L'accesso ai valori avviene tramite le chiavi e le operazioni di aggiunta, modifica e rimozione vengono eseguite in modo simile a Python.

Entrambi questi esempi mostrano come i dizionari (oggetti in JavaScript) permettano di memorizzare dati in coppie chiave-valore e di effettuare operazioni di accesso e manipolazione efficienti tramite le chiavi.


Nessun commento:

Posta un commento