![Trabalhando até tarde em seu escritório](/f/632b89fda171e20b3953fd75e7e6595e.jpg)
Crédito da imagem: vgajic / E + / GettyImages
Criar novos algoritmos pode parecer intimidante para novos programadores, mas é uma habilidade que pode ser praticada como qualquer outra. Comece procurando um livro de problemas de algoritmo para iniciantes ou fazendo uma aula de ciência da computação online ou offline. Pratique o domínio dos conceitos básicos de design de algoritmo, incluindo estimativa de complexidade e tempo de execução, verificando para casos extremos que poderiam causar problemas para um algoritmo de computador e dividir os problemas em menores partes.
O que é um algoritmo de computador
Um algoritmo é um procedimento que um computador ou ser humano segue para resolver um problema. A divisão longa é um algoritmo de amostra que muitas pessoas aprendem a fazer na escola. O algoritmo euclidiano, usado para encontrar o maior divisor comum de dois números, é outro exemplo comum.
Vídeo do dia
Um algoritmo de computador é basicamente escrito em uma linguagem de programação que o computador pode entender, mas quando o algoritmo está sendo desenvolvido, programadores e cientistas da computação costumam escrever primeiro informalmente como prosa e, em seguida, mais formalmente em um formato genérico chamado pseudo-código.
O pseudocódigo parece uma linguagem de programação, mas como foi projetado para ser lido por humanos em vez de computadores, não possui regras sintáticas rigorosas.
Exemplos de algoritmos simples para iniciantes
Exemplos famosos de algoritmos são freqüentemente ensinados a programadores e cientistas da computação iniciantes. Alguns exemplos são o Algoritmo de Dijkstra, que é usado na teoria dos grafos para encontrar o caminho mais curto entre dois pontos; Merge Sort, que é usado para classificar listas de dados; e o algoritmo RSA usado para criptografar dados. Muitos deles estão disponíveis online em livros, vídeos e materiais didáticos gratuitos.
O site de aprendizado online Khan Academy tem muitos exemplos de algoritmos que os iniciantes podem experimentar. Grandes universidades como Harvard, Stanford e o Instituto de Tecnologia de Massachusetts fazem materiais e vídeos do curso com algoritmos comuns disponíveis online para introdução à ciência da computação Aulas.
Existem também sites com problemas de concurso de programação e explicações de como eles são resolvidos, o que pode ajudar os interessados no desenvolvimento de suas habilidades.
Considerações de algoritmo
Quando você está criando um novo algoritmo, quer ter certeza de que ele funciona em todos os casos em que você acha que deveria e tente entender o quão eficiente é. Normalmente, os programadores dividem o algoritmo em partes distintas para que possam pensar sobre como cada parte funciona e quanto tempo leva. Isso é chamado de design modular.
É uma boa ideia testar você mesmo um algoritmo com papel e caneta em alguns casos simples antes de começar a escrever o código. Quando você pensa em eficiência, pense no caso médio, nas situações comuns que seu algoritmo provavelmente encontrará e no tempo de execução do pior caso. O tempo de execução de pior caso geralmente é representado com o que é chamado de notação Big-O.