Algoritmos e Estruturas de DadosVisão geral
Fundamentos
Um algoritmo é uma sequência finita de passos bem definidos que, dada uma entrada válida, produz uma saída e termina. Cada passo é executável, e a execução para.
Correção, custo f(n) e as famílias de projeto deste tópico — e heapsort, quicksort e guloso nos seguintes — partem dessa sequência e da conta de operações.
As páginas se agrupam em cinco blocos. O primeiro fixa o que conta como algoritmo e classifica o projeto em cinco famílias.
O segundo ordena no próprio vetor e lê o custo da entrada já ordenada, da invertida e da típica.
O terceiro compara o formato de duas funções de custo quando n cresce.
O quarto descreve a chamada que se invoca e o esquema que parte, resolve e combina, com T(n) na árvore e no Teorema Mestre.
O quinto interpreta o infixo numérico no pseudocódigo e extrai fatores de várias variáveis na mesma volta.
Uma chamada por passo, ou duas ou mais, e o tempo e o espaço do Fibonacci com duas chamadas estão em Recursão. Intercalar duas metades e aplicar o Teorema Mestre a T(n) = 2T(n/2)+cn estão em Dividir para Conquistar.
Crescimento de Funções classifica f = O(g), f = o(g), f = Ω(g) e f = Θ(g), e compara 2ⁿ com n!. Resolver a recorrência de metades está em Dividir para Conquistar.
Primeiros Passos ordena no próprio vetor por comparações e deslocamentos. Dividir para Conquistar parte em duas fatias, ordena cada uma e intercala.
a∧b = aᵇ e N = 2ⁱ no pseudocódigo estão em Operadores de Pseudocódigo. O laço que multiplica resp por i e divide cada variável ainda divisível, sem avançar i, está em MDC e MMC.
Páginas deste tópico
O Papel dos Algoritmos na Computação
Média incidência no POSCOMP16 min de leitura · 13ª mais cobrada em Algoritmos e Estruturas de Dados
Definição, correção vs eficiência, e mapa das cinco famílias de projeto.
Abrir páginaPrimeiros Passos
ProAlta incidência no POSCOMP37 min de leitura · 2ª mais cobrada em Algoritmos e Estruturas de Dados
Inserção, seleção, bolha e Shell; melhor, pior e médio caso.
Recursão
ProAlta incidência no POSCOMP20 min de leitura · 4ª mais cobrada em Algoritmos e Estruturas de Dados
Base e passo; linear vs árvore; T e S do Fibonacci ingênuo.
Crescimento de Funções
ProAlta incidência no POSCOMP27 min de leitura · 1ª mais cobrada em Algoritmos e Estruturas de Dados
O, o, Ω, Θ; hierarquia até n!; soma de laços; empírico ≠ Θ.
Dividir para Conquistar
ProAlta incidência no POSCOMP28 min de leitura · 3ª mais cobrada em Algoritmos e Estruturas de Dados
Merge-sort, árvore com custo por nível e Teorema Mestre.
Operadores de Pseudocódigo
ProBaixa incidência no POSCOMP11 min de leitura · 26ª mais cobrada em Algoritmos e Estruturas de Dados
no pseudocódigo da prova, ∧ é potenciação (a∧b=a^b), não E lógico nem XOR; N=x^i=2^i
MDC e MMC
ProBaixa incidência no POSCOMP25 min de leitura · 25ª mais cobrada em Algoritmos e Estruturas de Dados
laço que extrai fatores de vários números à vez: se i divide alguém, resp←resp·i e divide cada variável ainda divisível (sem avançar i); senão i←i+1; para quand