Estrutura de Dados Prof. André Cypriano M. Costa
Você sabe o que é uma pilha? Já ouviu falar em fila? E o que é uma árvore? Em computação, pilhas, filas e árvores são alguns exemplos de estrutura de dados. Para que servem as estruturas de dados? 2
Organizar a informação Melhorar o desempenho Proporcionar o reuso de código Proporcionar interoperabilidade/integração Diminuir custos Onde se aplicam estrutura de dados? Sistemas operacionais Banco de dados Programas utilitários (Ex. compactadores) Etc. 3
Conhecer as principais estruturas de dados Lista, fila, pilha, árvores, hash. Saber as características e variações de cada uma delas. Implementar tais estruturas de dados. Interpretar problemas, analisar, projetar, implementar e validar soluções computacionais para os mesmos, usando a estrutura de dados mais apropriada para o problema. 4
Desenvolver a capacidade de abstrair problemas reais. Desenvolver raciocínio lógico para construção de algoritmos eficazes e corretos que usem estrutura de dados. Expressar de maneira clara, concisa e coerente, de modo oral ou escrito, o raciocínio lógico usado na solução dos problemas. Desenvolver soluções computacionais, usando alguma estrutura de dados, e adequadas à especificação de problemas reais. 5
Codificar as soluções de forma organizada, eficaz e legível, utilizando o raciocínio lógico e empregando as boas práticas de programação. Conhecer diversas estruturas de dados, suas características, operações e aplicações. 6
Revisão de C Ponteiros e alocação dinâmica de memória Tipos abstratos de dados Listas Simplesmente encadeada, duplamente encadeada Filas Pilhas Árvores binárias (de pesquisa e AVL) Tabela hash 7
Aulas Expositivas em Sala de Aula Práticas em Laboratório de Informática Exercícios Listas de exercícios Atividades Práticas Supervisionadas (APS’s) 8
O sistema de avaliação é composto por: 02 Testes; 02 Provas Escritas; 04 Instrumento Complementar de Avaliação (ICA); Até 02 avaliação de Segunda Chamada (válido apenas para Teste e Prova Escrita, caso o aluno tenha faltado algum desses). Pontuação: 30 pontos para cada Teste; 70 pontos para cada Prova Escrita; 50 pontos para cada ICA. 9
Avaliações Escritas: DataAvaliaçãoConteúdo 21/03Teste Escrito 1 (30 pontos)Ponteiros, Tipo Abstrato de Dados 14/05Prova Escrita 1 (70 pontos) Ponteiros, Tipo Abstrato de Dados, Lista, Fila e Pilha 06/05Teste Escrito 2 (30 pontos)Árvore Binária e Árvore AVL 27/06Prova Escrita 2 (70 pontos)Árvore Binária, Árvore AVL e Hash 02/07 2ª Chamada Teste e/ou Prova Escrita Mesmo conteúdo da(s) avaliação(ões) perdida(s) 10
ICA: Os ICA’s serão testados no Linux! Projeto Integrador: Data Espec Data Entr AvaliaçãoConteúdo 28/0226/03ICA 01 (50 pontos) Todo o conteúdo de C visto em Introdução à Programação. Especificação a ser definida. 07/0504/06ICA 02 (50 pontos) Ponteiros e pilha. Especificação a ser definida. 04/0620/06ICA 03 (60 pontos)Árvore. Especificação e ser definida. 11 Data EspecData EntrAvaliaçãoConteúdo 02/0402/05PI (40 pontos no ICA 04) Implementar uma parte do projeto integrador
Atividades Práticas Supervisionadas (APS’s) 12 DataAPSConteúdo 15/03APS01 Resolução de exercício – Postagem de exercícios de revisão de C e ponteiros. 03/05APS02 Resolução de exercício – Postagem de exercícios de lista encadeada. 29/05APS03 Resolução de exercício – Postagem de exercícios de fila e pilha. 19/06APS04 Resolução de exercício – Postagem de exercícios de árvore binária.
13
Resultado final: 14 MédiaFrequênciaSituação ≥ 60≥ 75%APROVADO ≥ 60< 75%APROVADO 50 ≤ MF < 60≥ 75%PENDENTE! 50 ≤ MF < 60< 75%REPROVADO POR FALTA < 50≥ 75%REPROVADO POR NOTA < 50< 75%REPROVADO POR FALTA
TENEMBAUM, A.M.; LANGSAM, Y.; AUGENSTEIN, M.J. Estruturas de Dados usando C. São Paulo. Ed: Makron Books, (Formato digital) CORMEN, T.H; LIESERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: teoria e prática. 2ª edição. Rio de Janeiro: Elsevier/ Campus, (Formato digital). PREISS, B. R. Estruturas de dados e algoritmos: padrões de projetos orientados a objetos com Java. 1a. ed. Campus,
WIRTH, Niklaus. Algoritmos e estruturas de dados. 1.ed. Rio de Janeiro: LTC, PEREIRA, Silvio do Lago. Estruturas de dados fundamentais: conceitos e aplicações. 7a. ed. São Paulo: Érica, FARRER, H. Algoritmos Estruturados. 3a. ed. Rio de Janeiro: LTC- Livros Técnicos e Científicos, SCHILDT, Herbert. C Completo e Total. 3ª edição. São Paulo: Pearson Makron Books, (Formato digital). ZIVIANI, N. Projeto de algoritmos com implementações em Pascal e C. 4ª edição. Thomson Pioneira, (Formato digital). 16
Sites: node10.html node10.html dados-pucrio.pdf dados-pucrio.pdf Vídeo Aulas: