Habilidade matemática de pré-requisito para o livro Introdução aos algoritmos (CLRS) [fechado]


30

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.


11
Aqui está um ótimo recurso para atualizar suas habilidades, se você escolher. khanacademy.org
Alan B. Dee

Respostas:



9

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:

Mas o que exatamente é a Matemática Concreta? É uma mistura de matemática contínua e discreta. Mais concretamente, é a manipulação controlada de fórmulas matemáticas, usando uma coleção de técnicas para resolver problemas.

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.


6

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.


1

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


Também quero aprender sobre análise de algoritmos. Por favor me dê sugestões. :)
Anônimo

@ Anonymous Nesse caso, acho que não há escolha a não ser morder a bala. Comecei a me ensinar matemática discreta, mas logo fiquei sobrecarregado e desisti, tentei o caminho mais fácil fazendo livros "populares" sobre estruturas de dados e algoritmos, apenas para descobrir que o negócio real estava faltando. Agora estou reunindo coragem para começar de novo.
ankush981
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.