Otimização de algoritmos
Este artigo foi desenvolvido juntamente com os colegas da faculdade: Bruno Alisson, Higor Vinicius, Jean Silvestre. Ele pretende mostrar a importância da otimização de algoritmos e a definição de algoritmo e de otimização.
Parte 2: Algoritmos
"O dicionário da língua portuguesa editado pelo Ministério da Educação define algoritmo (termo matemático) como um processo formal de cálculo." (GOLDBARG e LUNA, 2006:599).
"Diversos autores denominam os problemas que não podem ser selecionados através de processos formais de cálculo como problemas não decidíveis. Nesse caso, os algoritmos são estratégias para solução de problemas decidíveis, ou seja, para problemas cuja a solução admita um processo formal de ações." (GOLDBARG e LUNA, 2006:600).
A figura 1 representa um algoritmo em linguagem natural:
"Diversos autores denominam os problemas que não podem ser selecionados através de processos formais de cálculo como problemas não decidíveis. Nesse caso, os algoritmos são estratégias para solução de problemas decidíveis, ou seja, para problemas cuja a solução admita um processo formal de ações." (GOLDBARG e LUNA, 2006:600).
A figura 1 representa um algoritmo em linguagem natural:

Figura 1. Esquema de um algoritmo em linguagem natural
Fonte: (Dias, 2006:5)
Entendamos por algoritmo todo e qualquer procedimento capaz de solucionar um determinado problema, através de passos previamente elaborados por alguém que entenda bem deste. O algoritmo deve ser capaz de resolver todas as instâncias, entenda-se por instância os valores de entrada a serem processados, do problema a ele proposto, basta que uma instância falhe para o algoritmo ser classificado como ineficiente. O estabelecimento de uma ordem de instruções, por si só não significa que tenhamos um método eficiente. A finalidade maior de um algoritmo é a solução de um problema com uma maior precisão em todas as fases do processo. Por isso é de grande importância o emprego de uma otimização eficiente nos mesmos.