Sobes.tech
Junior — Middle

Puoi spiegare cos'è una lista semplicemente collegata e come viene implementata in Python?

sobes.tech AI

Risposta dell'AI

Una lista semplicemente collegata è una struttura dati composta da nodi, in cui ogni nodo contiene dati e un riferimento al nodo successivo nella lista. A differenza di un array, gli elementi non sono memorizzati in un'area di memoria contigua, il che consente di inserire e rimuovere elementi in modo efficiente.

Esempio di implementazione di una lista semplicemente collegata in Python:

class Nodo:
    def __init__(self, dati):
        self.dati = dati
        self.next = None

class ListaSemplicementeCollegata:
    def __init__(self):
        self.testa = None

    def aggiungi(self, dati):
        nuovo_nodo = Nodo(dati)
        if not self.testa:
            self.testa = nuovo_nodo
            return
        corrente = self.testa
        while corrente.next:
            corrente = corrente.next
        corrente.next = nuovo_nodo

    def stampa_lista(self):
        corrente = self.testa
        while corrente:
            print(corrente.dati, end=' -> ')
            corrente = corrente.next
        print('None')

# Uso
sll = ListaSemplicementeCollegata()
sll.aggiungi(1)
sll.aggiungi(2)
sll.aggiungi(3)
sll.stampa_lista()  # Output: 1 -> 2 -> 3 -> None