Analisar um algoritmo é algo fundamental para qualquer desenvolvedor, independente da linguagem. As métricas de análise podem ser várias e a maioria delas são válidas. Nesse capítulo é apresentada a análise do tempo de execução, apenas de modo informal através da ordem de crescimento e cálculo dos custos em cada parte do algoritmo.
Mês: janeiro 2015
2.1 – Ordenação por Inserção
Um dos algoritmos clássicos para ordenação de um vetor é o insertion-sort, ele é parecido com o movimento que um jogador de cartas usa para ordenar as suas cartas. É um algoritmo eficiente para ordenar um número pequeno de elementos.
1 – Fundamentos – Problemas
1.1 – Comparação entre tempos de execução:
Para cada função f(n) e cada tempo t na tabela a seguir, determine o maior tamanho de n de um problema que pode ser resolvido no tempo t, considerando que o algoritmo para resolver o problema demore f(n) microssegundos.
1 seg. | 1 min. | 1 hora | 1 dia | 1 mês | 1 ano | 1 século | |
Cálculos realizados para chegar na tabela acima foram os seguintes:
1.2 – Algoritmos como Tecnologia
Aqui, é abordado modos de medir a eficiência entre dois algoritmos, dado o número de iterações que ele executa e a arquitetura da máquina onde será executado. Onde o desempenho da aplicação está relacionado a escolha dos algoritmos e hardware existentes.
1.1 – Algoritmos
Então pessoal, começarei com o primeiro capítulo do CLRS. Para quem não conhece, o CLRS é o livro Introdução à Algoritmos, 3 edição, escrito pelo Cormem, Leiserson, Rivest e Stein. É amplamente utilizado nos cursos de graduação de computação e afins para cadeiras que envolvem elaboração de algoritmos.
O que é um algoritmo? Uma definição poderia ser descrita como: Qualquer procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída [1]. A formalização de algoritmo é universalmente conhecida e aceita como uma Máquina de Turing.
Hello World
Hello world computer geeks!
A maioria dos assuntos que serão falados já estão visíveis como categorias, mas gostaria já de avisar que postarei coisas pseudo-aleatórias =].