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 A_1, A_2 \dots a_k.
  • Inorder (Simmetrico): consiste nel visitare prima il figlio 1, poi la radice e infine ciascuno dei figli A_2 \dots a_k in modo simmetrico.
  • Postordine: consiste nel visitare prima ciascuno dei figli A_1, A_2 \dots a_k 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.

Voci correlate: