Ementa |
Introdução a análise de complexidade de algoritmos: notações O, Q e W. Recorrência. Técnicas de projeto de algoritmos eficientes (Divisão e Conquista e Programação Dinâmica). Estruturas lineares: listas, pilhas, filas. Algoritmos de busca e ordenação em estruturas lineares. Ponteiros. Alocação dinâmica de memória. Encadeamento em listas e em tabelas. Tabelas de dispersão. Árvores. Árvores binárias de busca. Árvores binárias balanceadas. Listas de prioridades. Árvores B. Árvores digitais. Estruturas auto-ajustáveis. Noções de grafos. Busca em largura e profundidade. Árvore geradora mínima. Caminho mais curto. |