segunda-feira, 12 de agosto de 2013

Complexidade de algoritmos


          O conceito de algoritmo é importante para a Ciência da Computação e ocupa lugar de destaque em tecnologia. Um algoritmo (informalmente) é um conjunto finito de instruções especificando uma sequencia finita de operações, que a partir de dados iniciais, chamados de entrada, calcula uma ou mais quantidades finais, denominadas de saídas. Cada instrução deve especificar precisamente a operação a ser realizada, e deve ser efetiva, isto é, suficientemente simples, para que em princípio, possa ser executada por uma máquina ou pessoa em tempo finito.

          O usuário de algoritmos defronta-se frequentemente com o problema de escolher, entre várias alternativas para se resolver uma tarefa, a melhor. Assim, se faz necessário desenvolver critérios para poder comparar os vários algoritmos disponíveis para executar uma certa tarefa. Outras questões que podem ocorrer são: existe um algoritmo ótimo, isto é, que não pode ser melhorado; qual é a menor quantidade de passos para se resolver uma determinada tarefa; qual a relação entre os vários critérios para avaliar o desempenho de algoritmos.

          Todas estas questões envolvem considerações sobre a eficiência de desempenho de algoritmos e pertencem ao campo de complexidade de algoritmos. Este nome tem a ver se um algoritmo é mais ou menos complicado, mas refere-se somente ao grau de eficiência medida por algum critério. É comum medir a eficiência de um algoritmo, pelo tempo necessário para a sua execução, e, uma outra medida é o espaço necessário para a sua execução , onde podemos entender por espaço a memória necessária para executar as tarefas do algoritmo. Finalmente, estas noções aqui colocadas, já são tratadas no meio acadêmico, de maneira mais precisa.

Fonte: Teoria de complexidade de algoritmos. Istvan Simon

Nenhum comentário:

Postar um comentário