das funções fundamentais que o algoritmo é capaz de fazer (acesso, inserção, remoção, são exemplos mais comuns em computação), o volume de dados (quantidade de elementos a processar), e é claro, a maneira como ele chega no resultado.
comportamento geral (também chamado de assintótico) do algoritmo em termos do crescimento do número de operações conforme cresce o número de elementos processados (a quantidade de itens é descrita, genericamente, por n).
de uma função sobre n que descreva esse crescimento do algoritmo. Quanto mais rapidamente crescer o número de operações para processar os itens, "pior" é o desempenho do algoritmo (pois ele executa mais instruções e, portanto, demora mais - é "mais complexo").
O(1) Tempo constante O(log n) tempo logarítmico O(n) Tempo Linear O(n * log n) sub-quadrático ou super-linear O(n^2) quadrático O(2^n) exponencial O(n!) fatorial
ou sequencial: Algoritmo busca-simples: Seja V um vetor Seja E um elemento a ser procurado no vetor para i de 0 até tamanho(V) faça: se V[i] == E então: retorne i retorne -1
simples de busca: Percorra todo o vetor comparando a chave com o valor do elemento de cada posição. Se a chave for igual a algum valor, então retorne a posição correspondente no vetor. Se o vetor todo foi percorrido e a chave não for encontrada, então retorne o valor −1
Seja E um elemento que irá buscar no vetor; Seja B o índice mais baixo do vetor; Seja A o índice mais alto do vetor; enquanto B <= A faça: meio = (B + A) / 2 chute = V[meio] se chute == E então: retorne meio se chute > E então: A = meio - 1 senão: B = meio + 1 retorne -1
é igual ao valor da posição do meio do vetor. 2. Caso seja igual, devolva esta posição. 3. Caso o valor desta posição seja maior, então repita o processo mas considere que o vetor tem metade do tamanho, indo até a posição anterior a do meio. 4. Caso o valor desta posição seja menor, então repita o processo mas considere que o vetor tem metade do tamanho e inicia na posição seguinte a do meio.
- Khan Academy https://pt.khanacademy.org/computing/computer-science/algorithms#asymptotic-notation Algoritmos e Programação de Computadores Instituto de Computação UNICAMP ic.unicamp.br/~zanoni/mc102/2013-1s/aulas/aula15.pdf Entendendo Algoritmos - Um guia ilustrado para programadores e outros curiosos. Aditya Y. Bhargava. Novatec 2017.