Algoritmo

Definição - o que significa algoritmo?

Em seu sentido mais puro, um algoritmo é um processo matemático para resolver um problema usando um número finito de etapas.

No mundo dos computadores, um algoritmo é o conjunto de instruções que define não apenas o que precisa ser feito, mas como fazê-lo.

Definirtec explica algoritmo

Provavelmente, a melhor maneira de entender um algoritmo é pensar nele como uma receita. Existem muitas maneiras de assar biscoitos, mas seguindo uma receita, o padeiro sabe que primeiro deve pré-aquecer o forno, depois medir a farinha, adicionar manteiga, gotas de chocolate, etc. até que os biscoitos desejados estejam completos.

Usando algoritmos, um programador ou cientista da computação pode dizer a sua máquina para consultar o banco de dados A para obter os números de vendas do mês anterior, compará-los com o mês anterior e o mesmo mês do ano passado e depois exibi-los em um gráfico de barras.

Misture vários algoritmos e você terá um programa de computador funcionando.

Como é de se esperar, existem vários tipos de algoritmos para virtualmente todo tipo de problema matemático que há para resolver. Tem:

  • Algoritmos numéricos.
  • Algoritmos algébricos.
  • Algoritmos geométricos.
  • Algoritmos sequenciais.
  • Algoritmos operacionais.
  • Algoritmos teóricos.

Existem também vários algoritmos com os nomes dos principais matemáticos que os inventaram:

  • Algoritmo de Shor.
  • Algoritmo de Girvan-Newman.
  • Vários algoritmos euclidianos.

Existem também aqueles nomeados de acordo com o problema específico que eles resolvem, como:

  • Algoritmo de pesquisa bidirecional.
  • Algoritmo de fusão K-way.

No campo da computação, a maioria dos algoritmos tende a resolver problemas de gerenciamento e análise de dados.

Principais algoritmos de computação

(De acordo com a Ohio State University)

tipo

Organizar dados de maneira eficiente e útil. Isso inclui classificação rápida, classificação por mesclagem, classificação por contagem e outros;

Procurar

Encontrar dados-chave em conjuntos de dados classificados. O mais comum é o tipo binário, mas também há profundidade, amplitude e primeiras pesquisas usadas por aplicativos da web;

Hashing

Semelhante à pesquisa, mas com um componente de indexação e ID de chave. O hash fornece resultados superiores porque atribui uma chave a certos dados;

Programaçao dinamica

Converte problemas maiores e complexos em uma série de problemas menores;

Exponencial por quadratura (EbS)

Também conhecido como exponenciação binária, o EbS acelera o cálculo de números inteiros grandes, polinômios, matrizes quadradas e outros problemas complexos;

Correspondência e análise de strings

Projetado para encontrar padrões em grandes conjuntos de dados usando termos e restrições predefinidos;

Teste de Primalidade

Determina os números primos de forma determinística ou probabilística; usado principalmente em criptografia.

A rede também depende muito de algoritmos, que governam tudo, desde o roteamento de pacotes e gerenciamento de tráfego à segurança e criptografia. Tradicionalmente, os algoritmos de roteamento eram amplamente estáticos, pois estabeleciam pontos fixos de atividade de rede.

Recentemente, no entanto, os provedores de rede mudaram para algoritmos mais adaptativos que podem fazer alterações em tempo real em resposta a considerações de tráfego ou topologia.

Os algoritmos estão no centro de quase tudo no mundo digital, desde a negociação de ações em alta velocidade até máquinas de lavar louça automatizadas.

À medida que a tecnologia se torna ainda mais onipresente e nos encontramos contando com carros inteligentes, casas inteligentes, cidades inteligentes e até corpos inteligentes, pode parecer que estamos interagindo com uma forma inteiramente nova de consciência no planeta, aquela que anda, fala e pensa .

Na realidade, porém, são apenas muitos números passando por vários algoritmos.