0%

Quicksort è un ottimo algoritmo di ordinamento ricorsivo in place che, come merge sort, si basa sul paradigma divide et impera. La base del suo funzionamento è l’utilizzo ricorsivo della procedura partition: preso un elemento da una struttura dati (es. array) si pongono gli elementi minori a sinistra rispetto a questo e gli elementi maggiori a destra.

Il Quicksort, termine che tradotto letteralmente in italiano indica ordinamento rapido, è l’algoritmo di ordinamento che ha, in generale, prestazioni migliori tra quelli basati su confronto; è stato sottoposto a un’analisi matematica approfondita ed estremamente precisa, tanto che le sue prestazioni sono state comprese a fondo e il suo comportamento è stato descritto in modo molto accurato.

Read more »

Sulla rete ci sono parecchie guide sul come fare il tuning di ubuntu (cioè come alleggerire ubuntu) ma ho deciso di raggruppare il tutto in questa guida.

Ubuntu Linux è una distribuzione piuttosto semplice da usare ma ma stabile, poiché basata su debian, tuttavia ubuntu di default ha molti pacchetti e servizi che si possono tranquillamente disabilitare o adattare secondo le proprie esigenze, così facendo guadagneremo in spazio sull’hdd e qualche mb di ram, questo significa avere un sistema operativo più snello e più reattivo.

La presente guida è valida per la maggior parte degli utenti, ma ovviamente informatevi prima se un servizio\pacchetto non vi serve davvero… ad esempio chi possiede una stampante HP non dovrebbe disabilitare i relativi servizi per la sua gestione :-P

Read more »

Questo articolo tratta la gestione delle stringhe e, in generale, dei vettori multidimensionali nel linguaggio C.

Allocazione di memoria del vettore

Sappiamo che nel linguaggio c dichiariamo un vettore con l’istruzione

int vett[n];

in questo modo creiamo un vettore chiamato vett di n elementi:

Read more »

In un sistema operativo, una shell (o terminale) è un programma che permette agli utenti di comunicare con il sistema e di avviare altri programmi. È una delle componenti principali di un sistema operativo, insieme al kernel. La shell è l’ambiente di lavoro attraverso il quale è possibile impartire al computer comandi, richiedendo l’esecuzione di programmi.

Esistono molti tipi di shell; quando si parla semplicemente di “shell”, o anche di “terminale”, si intende di solito una shell testuale con cui l’utente interagisce attraverso un terminale o un emulatore di terminale.

Read more »

Introduzione alla problema della privacy

Tempo fa il problema della privacy non era sentito perché dovevamo fidarci solo di un insieme ristretto di persone; con Internet, e le moderne tecnologie, è diventato facilissimo raccogliere, scambiare, e trasferire informazione.

C’è perdita di controllo su cosa è raccolto e soprattutto come è utilizzato.

Il problema della privacy può sembrare una sciocchezza, ma un esempio vi farà cambiare subito idea!

Quando un paziente è sfortunatamente ricoverato in ospedale i suoi dati sono a disposizione di: medico curante, medico specialistico, ospedale, infermieri, e farmacia… tutte persone con le quali il paziente deve condividere i suoi dati.

Cosa succede se uno di questi ruba i dati dei pazienti e li rivende illegalmente ad enti che ne faranno uso improprio???

Si racconta (ed è una storia vera) che un funzionario di banca, in servizio in un comitato statale relativo alla sanità, ebbe accesso alla lista dei pazienti diagnosticata di tumore. Collegò i dati alla lista dei suoi clienti e annullò i prestiti. Adesso vi è chiaro il problema della privatezza?

Read more »

Successore di Windows 2000, Microsoft Windows Server 2003 (Nome in codice Whistler Server, o anche Windows NT 5.2 o ancora Windows .NET Server) (2003) è una tappa della evoluzione della serie server dei sistemi operativi di Microsoft. Il lancio è avvenuto il 24 aprile 2003.

Windows Server 2003 è basato sulla provata stabilità di Windows 2000 Server e la compatibilità con altre caratteristiche di Windows XP.

Questa guida all’installazione e configurazione di Windows Server 2003 è rivolta ai sistemisti alle prime armi, oppure a chi vuole costrure il proprio server a casa :)

Sarà copera la parte della configurazione Hardware di un buon server; successivamente sarà indicato come configurare il Windows Server 2003 appena dopo l’installazione

Read more »

GNU debugger (talvolta chiamato semplicemente GDB) è il nome di un programma libero sviluppato da GNU. È il debugger predefinito del software GNU, gira su molte piattaforme (tra cui i sistemi Unix-like e Microsoft Windows) ed è capace di analizzare numerosi linguaggi di programmazione, tra cui Ada, C, C++ e Fortran.

GDB (ovvero GNU DeBugger) è molto più di un semplice debugger: è un vero e proprio program execution path analysis tool.

Invocando il comando “gdb –help” avremo:

Read more »

Lo “srotolamento” del ciclo consistente nel modificare il controllo del ciclo e nel replicare opportunamente le istruzioni all’interno del ciclo viene detto “tecnica di LOOP UNROLLING”.

Read more »

Relazione sull’articolo: “Programs With Common Sense”.

John McCharty

Nel 1959, quando si parlava pochissimo di “intelligenza artificiale”, John McCharty con l’articolo “Programs with common sense”, introduce un programma che ha buonsenso (common sense).

Read more »

Relazione sull’articolo: “On Representations of Problems of Reasoning about Actions”.

Saul Amarel - RCA Laboratories Princeton, N.J.

In questo articolo Saul Amarel parla dei problemi di “ragionamento sulle azioni” (reasoning about action), ossia dei problemi che trattano l’individuazione delle azioni da compiere per avere un certo risultato. In questa categoria cadono problemi di tipo industriale/militare, e sicuramente li abbiamo incontrati nella nostra vita, quando ad esempio organizziamo una cena tra amici.

Read more »