Eu já tenho conhecimento sobre algoritmos básicos. Agora, planejo estudar algoritmos mais avançados e decido seguir com Introdução aos algoritmos .
Não tenho certeza, preciso atualizar as habilidades da minha matemática antes de ler este livro ou não? (Eu esqueço quase a matemática que aprendi no ensino médio e na faculdade) Se este livro precisar de um forte conhecimento de matemática, sugira assuntos que se beneficiem.
Eu quero aprender sobre implementação, design e análise de algoritmos.
algorithms
math
skills
Anônimo
fonte
fonte
Respostas:
O curso do MIT que usa o livro CLR possui um curso de pré-requisito específico. O livro usado por esse curso de pré-requisito está disponível gratuitamente.
Aqui está:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/
O curso de pré-requisito do curso de pré-requisito é o cálculo de variável única.
fonte
Como o @ user16764 faz alusão, em referência às ofertas específicas de cursos do MIT (6.042) , uma versão do que é normalmente chamada de matemática discreta , combinada com o cálculo no primeiro ano (universidade) são os principais requisitos para entender muitos algoritmos (básicos) e seus conhecimentos. análise.
Algoritmos especializados ou avançados podem exigir conhecimentos matemáticos adicionais ou avançados, como em estatística / probabilidade (programação científica e financeira), álgebra abstrata e teoria dos números (por exemplo, para criptografia).
Quando estudante, meu curso discreto de matemática tinha o livro Discrete Mathematics with Applications de Susanna Epp, e outro livro que encontrei na minha biblioteca foi Discrete Mathematics de Kenneth Ross e Charles Wright. Uma cópia usada de qualidade decente de um desses é provavelmente um local razoável para começar (com ou sem combinação com o MIT Open Course Ware, dependendo do seu estilo de aprendizado). Para o auto-estudo, muitas vezes acho que ter duas fontes para se referir pode ajudar a esclarecer pontos que estou tendo problemas para entender.
Uma alternativa que eu vi sugerida é a Concrete Mathematics , segunda edição de Ronald L. Graham, Donald E. Knuth e Oren Patashnik. Não consigo encontrar minha cópia no momento e não a trabalhei diligentemente, por isso não posso fazer uma recomendação a favor ou contra.
Do Prefácio:
Observarei os comentários de Bill the Lizard na entrada do blog "Os programadores de livros não leem realmente ". Pessoalmente, ainda acho os Algoritmos de Robert Sedgewick (agora 4a ed.) Menos intimidantes e mais acessíveis.
No que diz respeito à parte contínua (ou seja, números reais ) da matemática, o Calculus , de Stewart, parece ser um tomo frequentemente usado para dar palestras aos alunos sobre o esclarecimento resultante da diferenciação e integração.
fonte
Na verdade, não é muita matemática, é conforto e fluência com o formalismo matemático. Aprenda a terminologia básica dos conjuntos e o formalismo correspondente.
A análise de algoritmos, especialmente no contexto da teoria da complexidade, na qual você estuda o problema computacional subjacente (se você está tentando fazer algo mais substancial que a notação "Big-Oh"), exige um investimento significativo em tempo na teoria dos grafos. e álgebra abstrata, tudo além de uma enorme dose de inteligência inata.
fonte
Acredito que você esteja pronto, a menos que esteja preocupado com a "Análise" dos algoritmos, e não apenas com a implementação deles. Normalmente, esse curso é us e UD math ou CS na maioria dos currículos da faculdade.
Apenas entender como implementar os algoritmos desse livro não deve ser um problema
fonte