Archivio Tag: java

mag 23

Il problema delle 8 regine parte 2, un approccio iterativo

6952100115_de8c56ecd8_h

Il problema delle 8 regine parte 2, un approccio iterativo In questo articolo ci proponiamo di riscrivere l’algoritmo descritto nel precedente in modo da renderlo completamente iterativo, questo problema è un caso particolare di un problema ricorrente nell’ottimizzazione del software, si tratta di rendere iterativo un algoritmo “intrinsecamente” ricorsivo. Quando un problema è definibile per …

Continua a leggere »

Share Button

giu 14

Una classe Java per effettuare il backup di un database Mysql (v 2.0)

java_blu

Quando si sviluppa un applicazione che permette di interagire e modificare un database può essere utile prevedere una funzione che permetta di effettuare velocemente e con un solo click il backup completo dell’intero database (dati, struttura, trigger e stored procedure). Questa classe fa esattamente questo, e a differenza dei molti snippet che si trovano sul …

Continua a leggere »

Share Button

feb 18

Algoritmo degli scambi semplici (Plain changes – Johnson-Trotter)

Esecuzione dell'algoritmo degli scambi semplici su un insieme di 4 elementi

L’algoritmo degli scambi semplici è l’algoritmo più efficiente per generare permutazioni, le permutazioni vengono generate con un singolo scambio, quindi costituiscono un codice Gray. L’algoritmo è stato ideato nel diciassettesimo secolo in Inghilterra da parte di alcuni suonatori di campane che avevano sviluppato il buffo passatempo di suonare le campane secondo tutte le permutazioni possibili. …

Continua a leggere »

Share Button

set 24

Ricavare il numero di una permutazione (ranking)

questo articolo è la continuazione del articolo sulla determinazione di una specifica permutazione e affronta il problema inverso: determinare la posizione di una specifica permutazione nell’insieme delle permutazioni ordinate lessicograficamente. Ancora qualcosa sull’interpretazione dei codici di Lehmer I singoli termini del codice di Lehmer si possono anche interpretare come il numero di elementi che si …

Continua a leggere »

Share Button

set 19

Determinare una specifica permutazione dall’insieme delle permutazioni

questo articolo è la continuazione del articolo precedente sulle permutazioni. Potrebbe essere necessario determinare una singola permutazione dall’insieme delle permutazioni ordinate e inutile determinarle tutte. Come si affronta questo problema? ogni informatico sano di mente scarterebbe nel giro di un paio di secondi la possibilità di generare tutte le permutazioni fino a quella cercata (ma …

Continua a leggere »

Share Button

giu 30

Un semplice algoritmo iterativo per listare le permutazioni di un insieme di elementi

L’algoritmo seguente è probabilmente il più semplice algoritmo iterativo per listare le permutazioni di un insieme di elementi, l’algoritmo analizza semplicemente la permutazione attuale per ricavarne la prossima basandosi sul fatto che le permutazioni devono seguire un ordinamento lessicografico (nel caso numerico qui analizzato ogni permutazione deve essere la minima permutazione maggiore di quella corrente) …

Continua a leggere »

Share Button

mar 08

Un semplice generatore di spam con le catene di Markov

Oggi pomeriggio ho fatto una cosa che non facevo da un pò di tempo: Dedicarmi alla Toy-programming ,scrivere un codice assolutamente inutile giusto per il gusto di farlo. Il codice che ho scritto è un generatore di spam che permette di generare un testo apparentemente sensato a partire da un testo sensato preso come modello …

Continua a leggere »

Share Button

feb 25

Una classe Java per effettuare il backup di un database Mysql

Quando si sviluppa un applicazione che permette di interagire e modificare un database  può essere utile prevedere una funzione che permetta di effettuare velocemente e con un solo click il backup completo dell’intero database (dati, struttura, trigger e stored procedure). Questa classe fa esattamente questo, e a differenza dei molti snippet che si trovano sul …

Continua a leggere »

Share Button