Strutture Dati Avanzate e Fondamenti del Common Language Runtime
Classificato in Informatica
Scritto il in
italiano con una dimensione di 3,69 KB
I B-alberi
I B-alberi sono strutture dati ad albero che si trovano comunemente nelle implementazioni di database e file system. Sono alberi di ricerca in cui ogni nodo può avere più di due figli, ottimizzando l'accesso ai dati su memorie secondarie.
Alberi Binari
Un albero binario è una struttura dati in cui ogni nodo ha sempre un figlio sinistro e un figlio destro. Per definizione, non possono avere più di due figli (da qui il nome "binario"). Se un nodo figlio ha un riferimento a null, ovvero non memorizza dati, viene definito nodo esterno. In caso contrario, il nodo viene chiamato nodo interno.
Funzioni di Hashing
L'hashing si riferisce a una funzione o metodo utilizzato per generare chiavi che rappresentano in modo quasi esclusivo un documento, un record o un file. Permette di identificare o riassumere i dati attraverso il calcolo delle probabilità, utilizzando una funzione hash. Un hash è il risultato di tale funzione o algoritmo.
I set di partenza e di arrivo variano e influenzano le somiglianze dell'output o i modelli d'ingresso. Una proprietà fondamentale dell'hashing è che se due risultati della stessa funzione sono differenti, allora anche i due input che hanno generato quei risultati lo sono necessariamente. Tuttavia, oggetti diversi possono produrre lo stesso risultato (collisione), poiché la gamma di possibili chiavi è spesso inferiore alla somma degli oggetti possibili.
Metodi di Traversata degli Alberi
Esistono diversi modi per esplorare i nodi di un albero:
- Preorder (Preordine): consiste nell'esplorare prima la radice e poi ciascuno dei figli
. - Inorder (Simmetrico): consiste nel visitare prima il figlio 1, poi la radice e infine ciascuno dei figli
in modo simmetrico. - Postordine: consiste nel visitare prima ciascuno dei figli
e, infine, la radice.
Componenti del Sistema di Gestione
- Garbage Collection (Raccolta dei rifiuti): processo mediante il quale la memoria rimuove automaticamente gli oggetti inutilizzati.
- Security Engine: gestisce la sicurezza del codice durante l'esecuzione.
- Class Loader: permette il caricamento delle classi nella memoria di sistema.
Common Language Specification (CLS)
Al fine di interagire pienamente con altri oggetti, indipendentemente dal linguaggio della loro applicazione, gli oggetti devono esporre ai chiamanti solo quelle caratteristiche che sono comuni a tutti i linguaggi che devono interoperare. Per questo motivo è stata definita la Common Language Specification (CLS), ovvero un insieme di caratteristiche del linguaggio di base richieste dalla maggior parte delle applicazioni.
Common Language Runtime (CLR)
Il CLR esegue il controllo automatico del codice per garantirne la sicurezza; ad esempio, monitora il sistema applicativo per assicurarsi che funzioni correttamente e gestisce eventuali rifiuti o eccezioni.
Definizione di Runtime
Il termine runtime indica l'intervallo di tempo in cui un programma viene eseguito attivamente su un sistema operativo.