Componente Curricular |
---|
MATA40 - ESTRUTURAS DE DADOS E ALGORITMOS I |
Carga Horária - Total: 68 horas | | |
---|
Teórica | Prática | Estágio | Departamento | Semestre Vigente |
---|
34 | 34 | 0 | Ciência da Computação | 2015.1 |
Ementa |
---|
Introdução à análise de algoritmos. Tipos Abstratos de Dados. Estruturas de dados fundamentais: listas, filas, pilhas, árvores e heaps. Algoritmos de busca em memória principal. |
Programa |
---|
Objetivo |
---|
Os principais objetivos desta disciplina são: (a) apresentar ao aluno as principais estruturas de dados; (b) apresentar algoritmos associados a estas estruturas; e (c) iniciar o desenvolvimento da capacidade do aluno de analisar algoritmos e de escolher uma combinação de estruturas de dados e algoritmos que seja apropriada para a resolução de um determinado problema. |
Conteúdo |
---|
1. Fundamentação
1.1 Algoritmos, programas e estruturas de dados
1.2 Introdução à análise de complexidade de algoritmos: notação "O" e relações úteis entre funções
1.3 Recursividade
1.4 Tipos Abstratos de Dados (TAD)
2.Listas
2.1Definição (TAD)
2.2 Listas encadeadas simples, duplamente encadeadas, circulares
2.3 Implementações sobre vetor e com apontadores
2.4 Algoritmos sobre listas
3. Filas
3.1Definição (TAD)
3.2 Implementações sobre vetor e com apontadores
3.3 Algoritmos sobre filas
4. Pilhas
4.1Definição (TAD)
4.2 Implementações sobre vetor e com apontadores
4.3 Algoritmos sobre pilhas
4.4 Exemplos de aplicações: avaliação e conversão de expressões em notação prefixa, infixa e posfixa
5.Árvores
5.1Definição (TAD)
5.2 Árvores binárias e n-árias
5.3 Árvores de busca binária
5.4 Propriedades sobre árvores
5.5 Implementações sobre vetor e com apontadores
5.6 Algoritmos sobre árvores
5.7 Árvores balanceadas: AVL
6. Heaps
6.1Definição (TAD)
6.2 Implementação sobre vetor
6.3 Algoritmos sobre heaps
6.4 Exemplos de aplicações: Heapsort, Filas de prioridades
7. Busca em Memória Principal
7.1Revisão de algoritmos de busca nas estruturas de dados vistas anteriormente
7.2 Busca seqüencial
7.3 Busca binária
7.4 Busca por interpolação
8. Gerenciamento de Memória Dinâmica
8.1 Algoritmos de alocação dinâmica de espaço em buffers: first-fit, worst-fit, next-fit, algoritmo Buddy |
Bibliografia |
---|
Não há Bibliografia cadastrada |