Index
Related
Definizione
La lista semplice (o lista concatenata) è una struttura dati nella quale gli elementi sono organizzati in successione.
Proprietà
- L’accesso avviene sempre ad una estremità della lista, per mezzo di un puntatore alla testa della lista;
- Ogni elemento contiene un puntatore che consente l’accesso all’elemento successivo;
- È permesso solo un accesso sequenziale agli elementi
Struttura
Le linked list
sono composte composte da un oggetto che chiameremo nodo definito da due parametri:
key:
ovvero l’elemento vero e proprionext:
un puntatore utilizzato per indicare il nodo successivo
Nodo
Linked List
Operazioni
Info
Tutti questi codici sono scritti in Python
Creazione
Definizione
Nodo
di unalinked list
Creazione di una
linked list
da fare
Python Garbage Collector
Se abbiamo una
linked list
il cui primo nodo è puntato solamente da un puntatorep
e sovrascriviamo questo puntatore (es:p=None
) la lista andrà “persa” (non più puntata da niente).
- Python in questo caso si occupa di liberare la memoria (cancellando il primo nodo della lista).
- Il secondo nodo della linked list ora non è più puntato da niente e verra “cancellato”, e a sua volta accadrà la stessa cosa per il resto dei nodi della lista.
Inserimento
Aggiungere elemento in testa
note: scritto da me, non dal prof
Aggiungere elemento in coda
Aggiungere un elemento in posizione x
- Creare nuovo nodo
- Inizializzare il puntatore
next
del nuovo nodo uguale al puntatorenext
del puntatore nodo precedente (pos: )- Cambiare puntatore
next
del nodo precedente (pos ) con posizione del nuovo nodoPosizione non finale:
Eliminazione
Cancella la prima occorrenza di un valore x
nella list p
Costo:
Ricerca
Esempi
Creazione di una lista
P = Nodo(7) P.next = Nodo(2) P.next.next = Nodo(12)
Print di una lista
note: p is local variable and doesn’t change the original p