infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Jack ONeill din Noiembrie 26, 2014, 17:41:06



Titlul: Algoritmica
Scris de: Jack ONeill din Noiembrie 26, 2014, 17:41:06
Salut!
ÃŽmi puteÈ›i recomanda È™i mie nniÈ™te cărÈ›i de informatica centrate pe algoritmi? Ar fi ideala o carte în carte sa găsesc algoritmii celebrii gen Lee sau Greedy È™i nu numai. Vreau sa ma studiez mai atent algoritmica nu neapărat limbajul. Ma puteÈ›i ajuta?  :D MulÈ›umesc!




Titlul: Răspuns: Algoritmica
Scris de: Mihai Calancea din Noiembrie 26, 2014, 23:56:13
Salut!

Lee si Greedy nu sunt algoritmi celebri :). Lee-ul e un algoritm destul de straightforward odata ce ai fundamantele teoriei grafurilor, nu stiu cine i-a dat un nume, e ca si cum descompunerea in factori primi ar fi numita dupa cineva. "Greedy" nu se refera la un algoritm, ci la o clasa de algoritmi care au in comun faptul ca optimul local la fiecare decizie duce si la optimul global. E un principiu foarte simplu, de tipul "daca vreau sa ajung din Cluj in Ploiesti cat mai repede, e bine ca la fiecare intersectie sa ma indrept catre cel mai apropiat oras". Uneori e adevarat, alteori nu, dificultatea e in a decide acest lucru :) Cu alte cuvinte, nu poti sa inveti Greedy, ci poti sa te antrenezi sa recunosti si sa demonstrezi ca anumite probleme admit rezolvari de genul asta si poate mai important, ca altele nu. Asta se obtine prin intuitie cultivata cu demonstratii si experienta :)

In concluzie, stiu ca pe la noi prin scoli se predau "Lee" si "Greedy" ca si capitole din informatica, dar nu prea sta asa situatia :) Din punctul meu de vedere, realitatea e mai frumoasa.

Cat despre carti, foarte recomandata este in general Introduction to Algorithms (http://mitpress.mit.edu/books/introduction-algorithms). Eu am fost putin dezamagit cand am cumparat-o fiindca desi sustin rigurozitatea matematica, sustin la fel de tare si explicatiile inuitive, informale care sa insoteasca formulele, teoremele si lemele. Am sa pun si eu din nou mana pe carte sa vad daca mi s-a schimbat parerea intre timp, dar in clasa a 11-a mi se parea destul de seaca si greu de urmarit. Merita sa o ai, dar n-as incepe cu ea (so much for the Introduction part).

Daca stau sa ma gandesc nu prea stiu carti pe care sa le recomand din toata inima din punctul asta de vedere. Ii invit pe userii mai vechi si mai experimentati sa vina cu sugestii.

Stiu totusi un material pe care l-am citit partial si mi-a placut: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/MIT6_042JF10_notes.pdf

Desi nu e explicit dedicat concursurilor de programare, backgroundul pe care il ofera este esential. Ti se construiesc uneltele matematice pe care le folosesti in gandirea oricarei probleme de la 0. Lucrurile curg destul de natural, ti se ofera context si stau bine la capitolul comentarii informale.


Titlul: Răspuns: Algoritmica
Scris de: Jack ONeill din Noiembrie 27, 2014, 16:07:04
Multumesc mult pentru sfaturi  :) Nu sunt nici incepator dar nici prea avansat...a doua cartea pare cea mai buna alegere  :)


Titlul: Răspuns: Algoritmica
Scris de: Robert Badea din Decembrie 05, 2014, 23:47:14
Dacă îți place cartea de Mathematics for Computer Science (cartea pe care a postat-o klamathix mai sus), te poți uita și la cursul aferent ei aici (https://www.youtube.com/playlist?list=PLB7540DEDD482705B). Leighton e un profesor foarte bun, dă explicații intuitive. Marten van Dijk era în vizită la MIT mi se pare, dezavantajul lui este că are un accent cam dubios, dar dacă treci peste asta înveți multe de la el.