Algoritmos - Conceito, Objetivo e sua importância
- Almir Santos
- 6 de set. de 2023
- 5 min de leitura
Atualizado: 23 de jan.
Algo que geralmente desenvolvedores em início de carreira subestimam é a importância da busca por conhecimento sobre algoritmo. Embora pareça ser algo óbvio que ao aprender a programar automaticamente aprendemos algoritmos, dominar este conhecimento pode facilitar seu aprendizado com desenvolvimento de software e até mesmo lhe proporcionar destaque como profissional e vou te explicar neste post Por Que.
Afinal...
O que é Algoritmo?
Conceito
Em matemática e ciência da computação, um algoritmo é uma sequência finita de ações executáveis que visam obter uma solução para um determinado tipo de problema. Por isso, um algoritmo conta com uma entrada (input), que podem ser as informações necessárias de um determinado problema e uma saída (output) que é o resultado, ou melhor, a solução do problema.
Um algoritmo precisa ser:
Finito: isto é, o algoritmo tem que ter um fim, uma solução, resolver o problema;
Bem definido: os passos devem ser bem definidos de modo a serem entendidos por qualquer pessoa que analisá-lo;
Efetivo: o algoritmo deve sempre resolver, trazer solução ao problema proposto, antecipando falhas.
Quando se fala em algoritmo logo vem à mente programas de computadores, mas sua aplicação já existe há séculos passando à ser atribuída mais tarde à matemática e posteriormente formalizado em 1936 pela Máquina de Turing de Alan Turing e pelo cálculo lambda de Alonzo Church, que formaram as primeiras fundações da Ciência da Computação.
Então algoritmo não foi criado para programas de computadores?!
A resposta para esta pergunta é: NÃO!

Objetivo
Algoritmo não é o programa de computador sendo executado e sim a sequência de regras, raciocínios, instruções e operações definidas e organizadas para se atingir uma solução. Tendo isso em mente, fica claro que algoritmo é mais que o programa de computador sendo executado.
Exemplo
Os exemplos podem ir de um simples algoritmo como a clássica receita culinária e indo até uma situação mais complexa como o método de se construir uma edificação - e, no nosso caso, até o desenvolvimento de um software.
Em todos os casos, sabemos que é um algoritmo porque temos uma entrada de informações (os ingredientes ou materiais de construção), temos uma sequência de instruções lógicas que, seguidas de maneira específica, nos leva à alcançar o objetivo de criar um prato ou um edifício.
Lembrando que um algoritmo deve ser escalável, isto é, evoluir à medida que é aperfeiçoado e com isso se tornar cada vez mais complexo.
Sua importância
Eu encontrei pelo menos 3 motivos que fazem do estudo de algoritmo algo tão importante:
Motivo 1: proporcionar soluções eficientes para problemas identificados. Afinal, tanto ao desenvolver um software quanto resolver qualquer outro problema, dependendo do algoritmo, estaremos criando mais problemas ao invés de encontrar uma solução;
Motivo 2: saber exatamente como utilizar o melhor algoritmo para o problema proposto. Este motivo está bem ligado ao primeiro pois para entregar um algoritmo eficiente é necessário saber como utilizar os algoritmos. Pensando em nosso mundo de desenvolvimento de software, se não soubermos exatamente como utilizar o algoritmo certo, corremos o risco de criar um algoritmo que pode comprometer o consumo de memória, ou exigir mais do processamento da máquina, etc;
Motivo 3: ter um melhor domínio das complexidades que podem surgir em seu código. Como já foi visto, um algoritmo pode evoluir e em sua evolução assumir níveis de complexidades cada vez mais elevadas e o desenvolvedor precisa estar preparado para isso mantendo o padrão de eficiência e qualidade da solução.
A vida das pessoas é facilitada por meio de softwares desenvolvidos para automatizar processos. Os algoritmos são parte importante na evolução humana em vários aspectos. Atualmente, pensando na área de tecnologia, é por meio de algoritmos que empresas oferecem formas de melhor comunicação, comércio, business, entretenimento, informação, etc às pessoas. Grandes empresas como Google, Facebook, Twiter, Instagram, entre outros, desenvolvem algoritmos que evoluem à cada dia tornando-se cada vez mais complexos à fim de atender à essa evolução ao coletar dados, processá-los e entregar soluções.
E quem deve estar apto para lidar com toda essa complexidade?
VOCÊ!

As empresas estão sempre em busca de bons desenvolvedores em diversas linguagens de programação, nas diversas funções de desenvolvimento de software para contribuirem seu conhecimento. Então, continue se aprimorando, se aperfeiçoando e se qualificando para essas oportunidades!
"Mas eu já faço algoritmo da Faculdade!" Sim, isso é muito bom. Mas tendo tempo para buscar mais conhecimento de forma organizada e sem stress, para melhorar seu entendimento sobre o assunto - é bem-vindo.
Livros recomendados
Abaixo, deixo dois ótimos livros que eu recomendo:

O livro Entendendo Algoritmos apresenta uma abordagem agradável para esse tópico essencial da ciência da computação. Nele, você aprenderá como aplicar algoritmos comuns nos problemas de programação enfrentados diariamente. Você começará com tarefas básicas como a ordenação e a pesquisa. Com a prática, você enfrentará problemas mais complexos, como a compressão de dados e a inteligência artificial. Cada exemplo é apresentado em detalhes e inclui diagramas e códigos completos em Python. Ao final deste livro, você terá dominado algoritmos amplamente aplicáveis e saberá quando e onde utilizá-los. O que este livro inclui: a abordagem de algoritmos de pesquisa, ordenação e algoritmos gráficos; mais de 400 imagens com descrições detalhadas; comparações de desempenho entre algoritmos; exemplos de código em Python.
Para adquirir, é só acessar um dos links abaixo.
Livro: Entendendo Algoritmos

Com linguagem simples e didática – sem, no entanto, fugir da complexidade do assunto – o livro procura tornar prática a lógica de programação, além de mostrar aos estudantes um caminho mais adequado na construção dos algoritmos. O desenvolvimento do raciocínio lógico e da abstração de procedimentos e dados são as maiores dificuldades para os estudantes dos cursos introdutórios. Nesse sentido, os autores resolvem os problemas propostos passo a passo, apresentando todos os conceitos envolvidos por meio de fluxogramas e em conjunto com pseudocódigos.
Ficou interessado neste livro, acesse um dos links abaixo:
Livro: Algoritmos e Lógica de Programação
Curso recomendado
Um ótimo curso de Algoritmo que recomendo é do mestre Gustavo Guanabara do Curso em Vídeo. São 40 horas de curso bem didático e muito discontraído. Para conhecer mais acesse: https://www.cursoemvideo.com/curso/curso-de-algoritmo/
Conclusão
Concluímos aqui mais um post com informações que considero importantes para que você se torne um desenvolvedor de destaque. Dominar algoritmo é algo muito importante e com certeza, obtendo mais conhecimento além do adquirido na Faculdade vai te trazer muitos benefícios e menos ansiedade e dores-de-cabeça na hora de executar suas tarefas. Espero ter contribuído de alguma forma para sua carreira e aguardo seu feedback para melhorarmos nosso canal de comunicação e conteúdo.
Sucesso!
Comments