La Codifica di Huffman è un algoritmo di codifica dell’entropia usato per la compressione di dati, basato sul principio di trovare il sistema ottimale per codificare stringhe basato sulla frequenza relativa di ciascun carattere. Albero di Huffman per la codifica della stringa “this is an example of a huffman tree“. Il Teorema di Shannon ci…

Read More

In questo articolo verrà illustrato come realizzare una lista doppiamente linkata utilizzando il linguaggio C, tramite l’uso di puntatori, struct e del costrutto typedef. Una lista doppiamente linkata (detta anche lista doppiamente concatenata o lista bidirezionale) è una struttura dati dinamica composta da un insieme di elementi detti “nodi” collegati linearmente tra loro. Ogni nodo…

Read More

Questo è un esempio su come realizzare due applicazioni, un client e un server, che si connettono tra loro tramite una socket. Il server si avvia e rimane in attesa di uno o più client che si connettono e inviano dei messaggi di testo. Il client invece riceve dall’utente una stringa in input, successivamente si…

Read More

Un altro modo per scambiare dati tra processi UNIX è la memoria condivisa. Ogni memoria condivisa ha una chiave che la identifica in modo univoco. Quando un processo vuole utilizzare una memoria condivisa deve attaccarla al proprio spazio di indirizzamento, quando non desidera più utilizzarla può successivamente staccarla anche se essa continuerà ad esistere indipendentemente…

Read More