Sou programador PHP e até agora não precisava aprender algoritmos ...
Agora estou começando a aprender Python (uma linguagem de programação real), porque preciso usar o matplotlib. Faz sentido começar lendo um livro de algoritmos Python e depois aprender matplotlib e numpy ou devo pular para matplotlib e numpy?
Cumprimentos,
learning
python
algorithms
André
fonte
fonte
Respostas:
Absolutamente. Sem conhecer algoritmos, de que outra forma você entenderá como um programa faz o que faz?
É essencial entender o desenvolvimento de algoritmos para que você possa programar com mais eficiência e escrever programas melhores. Para começar, você deve conhecer pelo menos os conceitos básicos de fluxo de controle (talvez via autômato de estado, mas isso nem sempre é necessário) e a notação Big O e como isso pode afetar o desempenho.
fonte
A resposta é sim e não, simultaneamente. Você não precisa conhecer os detalhes de como os algoritmos diferentes funcionam ou a teoria por trás deles - esse é o trabalho dos cientistas da computação - mas precisa conhecer o básico, como quais algoritmos estão disponíveis para resolver uma tarefa específica e qual é o melhor para uma determinada situação.
No seu caso, você pode simplesmente começar a usar as bibliotecas mencionadas - elas foram criadas por alguém apenas para facilitar a vida de outras pessoas. Você certamente não precisa conhecer os algoritmos que foram usados para construí-lo apenas para usá-lo.
fonte
Sim, para você entender como aplicar uma abordagem sobre outra. Você também não deseja "reinventar a roda", pois existem muitos algoritmos existentes que já funcionam. Se você não souber que eles estão por aí, perderá tempo inventando uma solução potencialmente mais fraca e nem entenderá por que é mais fraca.
fonte
Algoritmos para um programador são um martelo para um ferreiro. Claro que você pode sobreviver sem e usar alternativas para fazer o trabalho, mas se você quiser fazer o que é certo e bem, é essencial.
O bom dos algoritmos é que ele é independente da linguagem de programação; portanto, aprenda a teoria uma vez e você poderá implementá-la em qualquer linguagem. Aqui está um bom site que eu estou construindo para começar a aprender: www.ambesty.com Eles usam Java, mas ele vem com código de amostra para aprender. Eles oferecem algoritmos simples de ADT e de classificação a algoritmos mais complexos, como algoritmos de compactação de dados. Leitura muito interessante. Boa sorte
fonte
Dependendo da sua experiência em PHP, se você estiver no estágio em que poderá adaptar os conceitos básicos de programação de uma linguagem para outra, faça-o . Essa seria a maneira mais eficiente de gastar seu tempo.
Leia o que você precisa fazer para integrar o Matplotlib , numpy e Python. E então, se você ficar preso, continue mergulhando mais fundo. Eu recomendo este pedido porque
fonte
Se você estiver desenvolvendo aplicativos de negócios (apenas), aprenda apenas o básico, como listas, filas, classificação, pesquisa de cadeias, etc., para aprender a terminologia, como o desempenho é afetado e medido e assim por diante. Uma melhor utilização do seu tempo seria se concentrar em novas tecnologias, padrões OO, design eficaz de banco de dados, aplicativo. metodologias de desenvolvimento, e tal!
fonte
Ok - eu sei que isso não é exatamente o que você quis dizer, mas você já sabe (como fazer) algoritmos. Dependendo da sua definição, você pode tomar todos os programas como exemplo para um algoritmo.
Então não tema. É útil conhecer os algoritmos básicos, é mais útil conhecer as estruturas de dados básicas, mas é ainda melhor conhecer os "padrões" de design. Afinal, os algoritmos e estruturas de dados básicos serão implementados em sua estrutura de escolha, mas os padrões provavelmente não serão ...
fonte
Aprenda python primeiro e, se quiser, pode estudar algoritmos; Como os algoritmos não são específicos para python - eles são gerais em todas as linguagens.
fonte
Antes de começar na Universidade, eu acreditava que era um programador decente e tinha alguns anos de experiência profissional. Mas depois que aprendi sobre algoritmos e estruturas de dados na Universidade, sinto que é preciso ter conhecimento! É essencial para tudo que você faz. Mesmo que você não use esse conhecimento diretamente todos os dias, ele ainda estará no topo de sua cabeça e fará de você um programador melhor.
Você aprende muito sobre desempenho e, embora o desempenho geralmente não seja o número um, conhecer algoritmos impedirá que você faça coisas estúpidas, com desempenho realmente ruim. Embora o desempenho não seja o número um, não há motivo para não usar esse conhecimento para tomar as decisões corretas.
fonte