Gentilmente offerto da Kevin Speranza.
calcolo le variabili
//non a destra
ND = {A}
//sia a sx che a dx
SD = {B,C}
formo l’insieme:
// ND :: SD
cand = {
{A} :: {B,C}
}
finche cand non è vuoto, estraggo il primo elemento
creo le seguenti variabili
//parte sx dell'elemento
X = {A}
//parte a destra
Y = {B,C}
vado a calcolare
se
altrimenti, come in questo caso, calcolo la seguente formula:
aggiungo a cand i nuovi candidati:
ora cand sarà uguale a:
cand = {
{A,B} :: {C},
{A,C} :: empty
}
si ricomincia il ciclo:
non è vuoto quindi estraggo il primo elemento
{AB}::{C}
calcolo
cand = {
{A,C} :: empty
}
estraggo e calcolo
AC è chiave
ora cand è vuoto → l’algoritmo restituisce