Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Suma de submultimi

algoritmi



+ Font mai mare | - Font mai mic



Suma de submultimi

Fie n numere pozitive    S wi> wi wj    i j    si M>



Sa se determine toate multimile S` S cu =M

Folosim notatia solutiei sub forma X= xi=0 sau 1

wi=M

Arborele spatiului starilor va fi de forma:

Consideram w1,w2.wn in ordine crescatoare (fara a fi o restrictie generala)

Functia de marginire

Bk(x1,x2,.xk) = true if ( + M    and wi + wk+1 M)

wi-cresc.

= false - altfel

SumSubset(s,k,r);

//(x1,x2,.xn) - vectorul solutie . Psp. x1,.,xk-1 calculati

s =wi r =

//Psp. w1 M si M [ deci initial (k=1) Bk-1 = true ]

}

return

Observatie:

Functia intra in executie ,avind asigurate conditiile Bk-1=true : s+wk M si s+r M.

Initial w1 M si 0+ M corespunzind apelului SumSubset (0,1,)

Aceste conditii sint asigurate la apelul recursiv.

Nu se verifica explicit k>n deoarece initial s = 0     < M si s+r M. Rezulta r 0 deci k nu poate depasi n. De asemenea in linia (*) deoarece s+wk < M si s+r M rezulta r wk, deci k+1 n.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1236
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved