Recent Posts
frammenti di razionalità
Return To Blog Listing
Tutto ciò che mi passa per la testa per quanto riguarda musica, programmazione, politica ecc...
Recent Posts Tagged With 'c'
L’operatore ternario in Python
Il costrutto che più adoro del C è l’operatore ternario, formidabile se si vuol scrivere codice poco leggibile . Per chi non lo conoscesse, l’operatore”? :” permette di scri...
Performance di alcuni linguaggi di programmazione
Non avendo nulla di meglio da fare, mi son messo a valutare le performance di esecuzione dei linguaggi che conosco nella risoluzione del “Problema di Flavio Giuseppe”, la cui soluzione vi ...
Dive Into Python
In questi giorni mi sono “immerso” nello studio del Python, un interessante linguaggio di scripting che mi ero promesso di imparare data la sua crescente diffusione nel mondo del software ...
registerimage 1.0.2
Il rilascio della versione 1.6 di VirtualBox della Sun mi ha portato ad effettuare qualche importante modifica al mio software registerimage per la registrazione automatica delle immagini virtuale cre...
Quickselect
Il Quickselect è un algoritmo randomizzato ricorsivo che trova l’elemento che si troverebbe in k-esima posizione se l’array in cui si trova fosse ordinato. Su un array di grandezza l...
registerimage 1.0.1!
Ho corretto qualche piccolo bug della prima versione del mio software di registrazione di immagini virtuali VirtualBox. A causa di una mia disattenzione, la versione 1.0 prendeva in input 3 argomenti;...
registerimage 1.0 released!!
In un post precedente ho parlato della mia partecipazione al progetto VirtualBox® Images. Uno dei principali problemi relativi all’utilizzo delle nostre immagini è quello legato alla difficile...
Usare Graphviz e DOT per stampare un albero binario
Graphviz è un pacchetto di software open source sviluppato dagli AT&T Research Labs per la rappresentazione di grafi descritti mediante il linguaggio di scripting DOT. DOT è un linguaggio abbast...
Alberi AVL
Gli alberi AVL sono degli alberi binari bilanciati in altezza. Un albero binario si dice bilanciato in altezza se, per ciascun nodo dell’albero, l’altezza del sottoalbero sinistro differis...
Radix sort
Il radix sort è un algoritmo di ordinamento che permette di ordinare un insieme di n record con chiavi intere comprese tra e con un costo computazionale pari a . L’algoritmo utilizza un altro...
Levenshtein distance - An optimized version
We can adapt the algorithm to use less space, instead of , since it only requires that the previous row and current row be stored at any one time. This is the second version of the algorithm int le...
Programmazione dinamica - Distanza di Levenshtein
La Distanza di Levenshtein è la distanza tra due stringhe S1 ed S2, dove per distanza intendiamo il numero minimo di operazioni elementari che occorre fare per trasformare la stringa S1 nella stringa...
Heapsort - implementazione
L’heapsort è un efficiente metodo di ordinamento caratterizzato da un costo computazionale nel caso peggiore pari a . Lo heapsort rientra nella classe degli algoritmi di ordinamento basati sui ...
C Socket Programming in the UNIX environment - part 5
Ecco il codice di una semplicissima applicazione client-server che simula il servizio daytime. In maniera molto banale, il client si connette al server per ottenere data e ora corrente. Ecco il codice...
C Socket Programming in the UNIX environment - part 4
Iniziamo a metter in pratica quello che abbiamo imparato fino ad oggi! Abbiamo visto come allocare le risorse per inizializzare una comunicazione tra processi attraverso la chiamata alla funzione sock...
Generic quicksort
Nel post precedente ho parlato di come poter usar i void* in C come tipi generici da usare per render estremamente flessibile le funzioni e il codice in generale; ho parlato pure dellla funzione qsort...
