Estruturas de Dados

2024/1 - Turma 0607

Ementa

Representação, manipulação e aplicações das estruturas de dados: listas, pilhas, filas, árvores, árvores binárias, árvores binárias de busca, árvores binárias balanceadas.

Competências

Compreender problemas computacionais e relacionados à tecnologia da informação
Conhecer as Estruturas de Dados e suas diferentes formas de implementação
Utilizar as Estruturas de Dados para a resolução destes problemas de forma otimizada

Objetivos

Objetivo geral
Conhecer as principais estruturas de dados, sua organização, formas de implementação e sua aplicação prática.
Objetivos específicos
• Compreender as principais características das estruturas de dados utilizadas na computação e como elas diferem entre si.
• Reconhecer as vantagens e desvantagens de cada estrutura e onde elas podem ser aplicadas.
• Implementar as estruturas de dados sabendo adaptá-las de acordo com o contexto em que forem utilizadas.

Programa

Introdução a Estruturas de Dados
Tipos Abstratos de Dados e suas relações com as linguagens de programação
Listas
Listas Estáticas
Lista Estática Sequencial
Listas Dinâmicas
Ponteiros e Objetos
Listas Dinâmicas Simplesmente Encadeadas
Listas Dinâmicas Duplamente Encadeadas
Filas
Filas Estáticas
Filas Dinâmicas
Filas Implementadas com Listas
Filas com Prioridade
Pilhas
Pilhas Estáticas
Pilhas Dinâmicas
Pilhas Implementadas com Listas
Árvores
Recursividade
Conceitos Básicos
Árvores Binárias
Árvores Binárias de Busca
Árvores Binárias de Busca Balanceadas

Metodologia

O Aporte Teórico-metodológico de Competências será oferecido por meio de aulas expositivas, discussões em grupos e em classe, apresentação e debate de materiais de apoio ao conteúdo (artigos, capítulos de livros).

O Trabalho Discente Efetivo se dará, em cada aula, por meio de questionários, testes, mapas conceituais. Nestas atividades os alunos deverão se aprofundar no assunto com o apoio do material indicado e seguindo as instruções passadas pelo professor, compartilhar com a sua equipe ou com a classe o conhecimento obtido construindo, em conjunto, propostas de resolução dos problemas ou questões apresentados, mapas conceituais, slides, vídeos, protótipos, dentre outras possibilidades de produção discente.

Durante o semestre, os alunos terão acesso a WebAulas na plataforma Conecta: 03 aulas online serão disponibilizadas em um sistema web, compostas por recursos didáticos - como textos, apresentações e vídeos - e atividades individuais ou em grupo, seguindo as determinações da Portaria MEC nº 2.117, de 06 de dezembro de 2019.

Avaliação

A avaliação da aprendizagem será progressiva de modo que a Média Parcial (MP) é a média ponderada das notas de duas avaliações:  Avaliação de Grau 1 (G1) com peso 1 e Avaliação de Grau 2 (G2), com peso 2.

A composição das notas das avaliações ocorrerá da seguinte maneira:
- G1: atividades presenciais ou virtuais, individuais e em grupo, abrangendo o conteúdo abordado até a data da avaliação;
- G2: atividades presenciais ou virtuais, individuais e em grupo e avaliação individual, abrangendo o conteúdo abordado até a data da avaliação.

A Média Parcial será calculada da seguinte forma: (G1 + 2*G2)/3.

Atingindo a Média 6,0, esta será a Média Final do aluno.

O aluno que não alcançar a nota mínima 6,0 na Média Parcial (MP) poderá fazer um Exame Final (EF), desde que tenha no mínimo 75% de frequência.

Neste caso a sua Média Final será a média ponderada entre a Média Parcial com peso 1 e o Exame Final com peso 2, cujo cálculo segue abaixo:

MF = (MP + 2*EF)/3

Bibliografia

Básica

PEREIRA, Silvio do Lago. Estruturas de dados fundamentais. São Paulo: Érica. 1996.
PREISS, Bruno R. Estruturas de dados e algoritmos: padrões de projetos orientados a objetos com java. Rio de Janeiro: Campus, 2001.
SZWARCFITER, Jayme Luiz; MARKENZON, Lilian. Estruturas de dados e seus algoritmos. 3. ed. Rio de Janeiro: LTC, 2015. E-book. [Minha Biblioteca]. Disponível em: https://integrada.minhabiblioteca.com.br/reader/books/978-85-216-2995-5. Acesso em: 30 mar. 2022.

Complementar

DOWNEY, Allen B. Pense em Python: pense como um cientista da computação. São Paulo : Novatec, 2016.
GOODRICH, Michael T. Estruturas de dados e algoritmos em Java. 2. ed. Porto Alegre: Bookman, 2002.
PUGA, Sandra; RISSETTI, Gerson. Lógica de programação e estrutura de dados: com aplicações em Java. 2. ed. São Paulo: Pearson, 2016. E-book. [BV Pearson]. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/447. Acesso em: 30 mar. 2022.
TENENBAUM, Aaron. Estrutura de dados usando C. São Paulo: Makron, 1995.
WIRTH, Niklaus. Algoritmos e estrutura de dados. Rio de Janeiro: Prentice Hall, 1986.

Material Digital

Informações da Turma
Curso
Engenharia de Software
Período: 3
Carga Horária: 76h
Horário: 6N
Sala: Labin III