[Algo] Ricerca esaustiva ricorsiva
FILE_REC(S: array delle dimensioni, k: numero file, c: capacità)
IF k = 0 THEN
RETURN 0
ELSE
max <- FILE_REC(S, k - 1, c) /* Il k-esimo file non è scelto */
IF S[k] ≤ c THEN
m <- S[k] + FILE_REC(S, k - 1, c - S[k]) /* Il k-esimo file è scelto */
IF m > max THEN max <- m
RETURN max
Dati n file di dimensioni s1,...,sn e un disco di capacità C, vogliamo trovare un sottoinsieme dei file che può essere memorizzato sul disco e che massimizza lo spazio usato.
Se abbiamo tre file di dimensione 3-2-4 e C=6 l'algo sembra funzionante e ritorna 6, ma nel caso i file siano disposti così:
2-3-4 sempre con C=6, sembra non ritornare 6.
Potreste validarlo dandogli un'occhiata??
Grazie e buon weekend
Risposte
Funziona invece. La ricerca esaustiva con la ricorsione ancora non mi entra bene in testa.
Avete consigli su come pensarla?
Avete consigli su come pensarla?