Jump to content

Iniciar algoritmia forte e feio - Livros e Matérias


Geye
 Share

Recommended Posts

Boas,

Sou novo cá no fórum, mas desde alguns anos que sou um leitor frequente dos vossos posts. Bem eu ainda estou no secundário, e este ano vou ao Topas na FCUP e também estou inscrito nas Olimpíadas.

Quero saber a vossa sugestão, sobre algum livro ou matéria na internet que possa ser relevante e bastante eficaz numa aprendizagem que vai começar de raiz. Ainda assim tenho algumas bases de C, no entanto a minha experiência com o Topas (o ano passado) leva-me a a acreditar que se começar a aprender algo mais dinâmico (a nível de objectos) como C++ seria melhor para mim.

Dizem que este livro em inglês é bastante interessante.. Acham o mesmo?

Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest. MIT Press(1999).

Gostava também de saber se circula por ai alguma coisa interessante e que seja de vossa recomendação, programação com aqueles algoritmos marados do Quick Sort, Grafos, Pesquisa Binária, etc.

Link to comment
Share on other sites

O CLRS (esqueceste-te do Stein, o último autor) é um livro extremamente completo mas também extremamente complexo. Um aluno que o consiga seguir de uma ponta à outra terá conhecimentos como muito poucos alunos universitários terão, estará talvez entre a dezena de portugueses com melhores conhecimentos de algoritmia. Na amazon podes encontrar um preview dos primeiros 3 capitulos (aquilo que eles consideram as "fundações") e ver a quantidade de matemática e provas que são imediatamente utilizadas. Por muito que recomende o livro, tenho medo que um aluno do secundário seja afastado por tentar seguir sozinho um livro difícil de nível universitário. Se gostares do lado mais matemático e formal da algoritmia, por favor não te desmotives.

Existem vários recursos online que podes seguir, eu gosto particularmente do USACO por misturar teoria e prática numa sequência fácil de seguir: http://train.usaco.org . É dirigido a alunos do secundário.

Se já souberes exactamente o que procuras, os tutoriais do topcoder costumam ter uma qualidade bastante boa: http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index

Finalmente, e dependendo do tipo de pessoa que és e daquilo que gostas, podes sempre assistir a aulas universitárias sobre o assunto. Evidentemente que existe imenso material escrito (e.g. CMU http://www.cs.cmu.edu/~15451/ , MIT http://stellar.mit.edu/S/course/6/fa13/6.046/materials.html) mas também video aulas. Aqui não sei o que te recomendar, mas por exemplo stanford costuma ter muita coisa online no coursera: https://www.coursera.org/course/algo

Claro que para aprender algo "forte e feio" vais precisar de inglês.

Edited by Warrior
Link to comment
Share on other sites

O CLRS (esqueceste-te do Stein, o último autor) é um livro extremamente completo mas também extremamente complexo. Um aluno que o consiga seguir de uma ponta à outra terá conhecimentos como muito poucos alunos universitários terão, estará talvez entre a dezena de portugueses com melhores conhecimentos de algoritmia. Na amazon podes encontrar um preview dos primeiros 3 capitulos (aquilo que eles consideram as "fundações") e ver a quantidade de matemática e provas que são imediatamente utilizadas. Por muito que recomende o livro, tenho medo que um aluno do secundário seja afastado por tentar seguir sozinho um livro difícil de nível universitário. Se gostares do lado mais matemático e formal da algoritmia, por favor não te desmotives.

Existem vários recursos online que podes seguir, eu gosto particularmente do USACO por misturar teoria e prática numa sequência fácil de seguir: http://train.usaco.org . É dirigido a alunos do secundário.

Se já souberes exactamente o que procuras, os tutoriais do topcoder costumam ter uma qualidade bastante boa: http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index

Finalmente, e dependendo do tipo de pessoa que és e daquilo que gostas, podes sempre assistir a aulas universitárias sobre o assunto. Evidentemente que existe imenso material escrito (e.g. CMU http://www.cs.cmu.edu/~15451/ , MIT http://stellar.mit.edu/S/course/6/fa13/6.046/materials.html) mas também video aulas. Aqui não sei o que te recomendar, mas por exemplo stanford costuma ter muita coisa online no coursera: https://www.coursera.org/course/algo

Claro que para aprender algo "forte e feio" vais precisar de inglês.

Obrigado, vou dar uma vista de olhos!. Inglês comigo à partida não é problema 🙂

Link to comment
Share on other sites

E um livro de introdução ao C++? Algo que explique bem os básicos da sua programação mas que também vá alem disso..

Se for um livro em inglês ainda melhor... é da maneira que aprendo 2 coisas na força de 1 😛

Link to comment
Share on other sites

Não te posso ajudar nesse aspecto porque nunca aprendi C++ a partir de um livro.

- Quando programo em C++ uso invariavelmente uma referência da API que é ou o cppreference.com ou o cplusplus.com (dependendo do que surge primeiro na pesquisa do google que fiz).

- Quando necessito de rever algum conceito da linguagem que uso menos frequentemente (aconteceu-me há pouco tempo com template specialization), leio os capítulos do learncpp.com, mas não faço ideia se é uma boa introdução à linguagem porque nunca li os capítulos iniciais e não sei como é que é feita.

Link to comment
Share on other sites

Eu concordo plenamente com o Warrior.

Pela tua descrição, também me parece cedo para pegares no Introduction to Algorithms. A USACO é excelente.

O livro Accelerated C++ pode dar um empurrãozinho, visto que tens umas bases de C.

Nota que tens um trabalho árduo pela frente. Se fores persistente, vais colher os frutos, nem que demore uns anos como aconteceu comigo.

"What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine

Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação.

Link to comment
Share on other sites

Acabei por comprar o Competitive Programming 3, para começar a entender alguma coisa de algoritmia, e ao mesmo tempo vou estudando umas matérias de c++, e quem sabe mais tarde, talvez compre o Accelerated C++.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.