[Algo] Ricerca esaustiva ricorsiva

Pablitos23
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 :-D

Risposte
Pablitos23
Funziona invece. La ricerca esaustiva con la ricorsione ancora non mi entra bene in testa.
Avete consigli su come pensarla?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.