Estrutura de Dados
IFPB - Esperança - 2016
Conteúdo desta página
Notícias
[25/11/2016] Está disponível a descrição do trabalho aqui. Os grupos devem ter no máximo 3 alunos e os seguintes alunos não podem estar em um mesmo grupo: Arthur, Aryelson, Ivonaldo, Jordão, Luanna e Samuel.
[24/11/2016] Está disponível uma nova lista de exercícios. A prova do dia 6 vale 8,0 e a esta lista 2,0. Ela deve ser entregue até a prova. Prova e lista são individuais.
[21/11/2016] A prova ficou para 06/12 e o trabalho para 14/12. A reposição está mantida para 16/12.
[21/10/2016] Estão agendadas as datas da 2ª e 3ª avaliação, que ocorrerão dias 22/11 e 30/11. A primeira delas será uma prova individual e a segunda um trabalho em grupo. Está agendada ainda a reposição para o dia 16/12.
[14/09/2016] Lista de exercícios a respeito de listas disponível aqui.
[11/09/2016] Faremos nossa primeira prova dia 21/09. O conteúdo abordado inclui: manipulação de arquivos, uso de dicionário, implementação e uso básico de classes em Python, implementação e uso de listas, seja uma lista de implementação própria ou a lista disponibilizado pelo próprio Python. Vale salientar que a prova tem peso 8 na primeira nota.
[10/08/2016] A 1ª nota da disciplina será composta por um trabalho em grupo e uma prova individual. O trabalho terá peso 2 e a prova 8. Maiores informações sobre o trabalho aqui.
[10/08/2016] Site da disciplina disponível.
Docente
André Atanasio Maranhão Almeida
Email: andre.almeida [ @ ] ifpb.edu.br
Dias, horários e local das aulas
Terça e quarta das 20:20 às 22:00 na Sala 02 ou Laboratório de Informática 01.
Dúvidas
As dúvidas devem ser esclarecidas o quanto antes. Não hesitem em interromper as aulas para esclarecer dúvidas. Podem enviar e-mails, ou mesmo mensagem no Facebook, com esta finalidade também.
Podem me procurar pessoalmente no campus. Estou normalmente de segunda a sexta, a tarde e a noite.
Datas importantes
23/08/2016 - Trabalho em grupo (Comporá 20% da 1ª nota)
21/09/2016 - 1ª Avaliação - Prova individual (Comporá 80% da 1ª nota)
06/12/2016 - 2ª Avaliação - Prova individual (Comporá 80% da 2ª nota)
14/12/2016 - 3ª Avaliação - Trabalho em grupo
16/12/2016 - Reposição
Material didático
Slides
Textos complementares
Pilha
Cormen em Português, 2ª Ed., Seção 10.1
Filas
Cormen em Português, 2ª Ed., Seção 10.1
Lista
Cormen em Português, 2ª Ed., Seção 10.2
Árvores
Cormen em Português, 2ª Ed., Seção 10.4 e capítulo 12
Ordenação
Insertion Sort
Cormen em Português, 2ª Ed., Seção 2.1
Merge
Cormen em Português, 2ª Ed., Seção 2.3
Códigos de exemplo:
Agenda telefônica com persistência em arquivo e armazenamento de dados em lista
Implementações de Listas
Implementações de Pilha
Implementações de Fila
Implementações de Árvore
Implementação da busca
Implementações de algoritmos de ordenação
Softwares de apoio
Instalador para Windows, versão 3.5.1
CodeSkulptor - um interpretador Python para rodar no navegador web. Não precisa instalar.
QPython3 - um interpretador Python para rodar em Android no smartphone ou tablet.
Conteúdo programático
Alocação estática e dinâmica de memória
Tipos abstratos de dados
Listas
Representação
Operações primitivas
Listas estáticas
Listas encadeadas
Listas duplamente encadeadas
Filas
Representação
Operações básicas
Filas estáticas sequenciais
Filas com encadeamento
Pilhas
Representação
Operações básicas
Pilhas estáticas sequenciais
Pilhas com encadeamento
Árvores
Representação
Propriedades das árvores binárias de busca
Operações básicas de árvores binárias em vetores
Árvores binárias em listas encadeadas
Árvores binárias de busca usando ponteiros
Métodos de pesquisa e classificação de dados
Bibliografia básica
Thomas H. Cormen; et. al. Algoritmos - Teoria e Prática (Tradução). Editora Campus. 2a ed. 2002.
Donald E. Knuth. The Art Of Computer Programming - Volume 3 / Sorting and Searching. Addison-Wesley. 2a ed. 1998.
Bibliografia complementar
Donald E. Knuth. The Art Of Computer Programming - Volume 1 / Fundamental Algorithms. Addison-Wesley. 3a ed. 1997.
Avaliações
As avaliações serão realizadas sob forma de provas escritas individuais e trabalhos individuais ou em grupo. Haverão três notas no semestre com pesos iguais. Duas das notas serão definidas essencialmente pelo desempenho em prova escrita individual. Uma das notas será definida essencialmente pelo desempenho em um trabalho em grupo. Em cada uma das notas poderão ser realizadas outras atividades avaliativas para compor a nota. Porém, estas atividades terão participação de no máximo 20% da nota. A média final da disciplina será calculada pela média aritmética das três notas.
Haverá ainda uma prova final, que será aplicada aos alunos que obtiverem média final inferior a 7,0 e maior ou igual a 4,0, conforme as normas da instituição. A final será uma prova escrita individual, que irá abranger todo o conteúdo da disciplina.
A nota final, para todos os que participarem da final, será a média ponderada entre a média final e prova final. A nota final terá peso 6 e a prova final 4.