Cele 196 de probleme nu au fost ordonate după un anumit tipic (grad de dificultate ascendent, respectarea unei anumite programe, parcurgerea unui anumit limbaj etc.). Am lăsat la latitudinea cititorului căutarea unei anumite probleme referitoare la tema ce îl interesează. Totuşi, la sfârşitul lucrării, problemele sunt date prin numărul lor, făcând astfel facilă această căutare.
Am inclus unele probleme care pun în evidență anumite laturi ale programării, care sunt mai puțin expuse în alte lucrări, cum ar fi: probleme de min/max, ordinea lexicografică directă şi inversă, sincronizare procese, algoritmi probabilişti, grafică.
Metodele de elaborare a algoritmilor şi programelor: Greedy, Divide et Impera, backtracking, branch&bound, euristică şi programarea dinamică îşi găsesc rolul şi rostul lor printr-un mare număr de probleme.
Ținând seama de faptul că recursivitatea într-un anumit limbaj nu este încă perfect înțeleasă de mulți utilizatori, am încercat să punem în evidență mai mult partea de algoritm recursiv, decât folosirea instrucțiunilor unui anumit limbaj. Nu lipsit de importanță este şi cazul iterativității, căci trebuie să folosim structurile fundamentale în aşa fel încât să reducem ordinul de complexitate al programului/algoritmului.
Problemele de grafică, puține la număr, au fost introduse aici pentru a mai puncta încă o data ideile de iterativitate/recursivitate, dar şi pentru a evita cât mai mult posibil folosirea unor biblioteci grafice. Utilizatorul trebuie să-şi creeze propriile rutine/funcții pentru astfel de probleme. Este vorba despre creatorii de programe, nu despre utilizatorii domestici ai programării.
Grafurile şi arborii constituie un alt punct forte al lucrării, căci modul de căutare/parcurgere al unui arbore/graf bine ales conduce la micşorarea timpului de rulare şi, implicit, al complexității.
Foarte multe din probleme au fost testate/rulate/examinate în orele de laborator sau anumite concursuri de informatică.
Rezolvările care există în lucrare au fost date în pseudocod (este uşor apoi să implementezi soluția într- un anumit limbaj) sau în anumite limbaje uzuale, chiar dacă unora nu le place. Dar am ținut seama de faptul că scopul este să-l facem pe programator să găsească rezolvări mai simple.
Cartea se adresează elevilor, studenților şi pasionaților în informatică. Problemele constituie un fond reprezentativ pentru pregătirea concursurilor, olimpiadelor (locale, naționale, internaționale) şi vine, de asemenea, în sprijinul profesorilor pentru pregătirea orelor de informatică în concordanță cu cerințele programelor de specialitate actuale.
Adauga in cosul de cumparaturi.
Leave a Reply