Academic Year: 2022-2023 Class: Programmazione Calcolatori (Class) Created: March 12, 2023 Tag: C MOC, Python Dictionaries in C, Python Dictionaries Type:Lecture
Ricreare dizionari di python in c
def: insiemi di coppie di chiavi e di valori
Operazioni da svolgere:
- creare nuovo dizionario (vuoto)
- inserire nuovi elementi (chiavi + valore) ⇒ set
- Modifica di un valore associato ad una coppia
- Cancellazione di un elemento (input chiave)
- Lettura (input chive, output: valore)
- Ricerca( input chiave, output True o False)
oss: In Python MOC tutte tutte le operazioni sui dizionari hanno costo costante tranne la ricerca che ha costo lineare
?perché medio e non nel caso peggiore
Implementazione
Possiamo utilizzare sia un array (normale), o una lista concatenata
in entrambi i casi non sarebbe possibile avere costo costante per la maggior parte delle operazioni
Esempio utilizzando lista concatenata:
Implementazione stile python
Strutture:
Funzioni:
Inizializzazione dizionario:
- Input: Dimensione dizionario
- Output: Puntatore al dizionario
- Dizionario vuoto
Funzione che modifica valore associato alla chiave o inserisce nuova coppia valore chiave in posizione 0 se non è già presente:
- Input: dizionario e puntatore alla chiave ed valore (dict_item)
- Output: void
- lo inseriamo in posizione iniziale perche ha il costo minore
Funzione che inserisce in un nodo lo associa a una coppia chiave valore (dict_item) :
- Input: dizionario e puntatore alla chiave ed valore (dict_item)
- Output: void
Funzione che cerca la chiave in un dizionario e ne restituisce la posizione:
- Input: Dizionario, chiave
- Output:
- ritorna il puntate al node contenente l’item del dizionario con chiave k
- NULL se tale chiave non è presente nel dizionario
oss: C strcmp Funcion confronta due stringhe
:
: