UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Faculdade de Engenharia Elétrica

Av. João Naves de Ávila, 2121, Bloco 3N - Bairro Santa Mônica, Uberlândia-MG, CEP 38400-902
Telefone: (34) 3239-4701/4702 - www.feelt.ufu.br - feelt@ufu.br
  

Timbre

Plano de Ensino

IDENTIFICAÇÃO

Componente Curricular:

Tópicos Especiais em Engenharia de Computação: Estruturas de Dados

Unidade Ofertante:

Faculdade de Engenharia Elétrica

Código:

FEELT39016X

Período/Série:

3º período

Turma:

C

Carga Horária:

Natureza:

Teórica:

60

Prática:

0

Total:

60

Obrigatória:

()

Optativa:

( X)

Professor(A):

Felipe Alves da Louza

Ano/Semestre:

2023/02

Observações:

 

 

EMENTA

Ao final do curso o estudante deverá ser capaz de modelar problemas e implementar aplicativos computacionais relacionados à Engenharia de Computação, utilizando os conceitos de abstração de dados e as estruturas de dados clássicas: pilhas, filas, listas, árvores e grafos.

JUSTIFICATIVA

A disciplina de estrutura de dados é fundamental para um curso de graduação em Engenharia da Computação. Estruturas de dados para o Engenheiro da Computação são como a régua de desenho para o Engenheiro Civil: ferramenta básica de trabalho. Isto porque se trata de diferentes maneiras de representar, armazenar e manipular dados no computador. Cada estrutura tem seu potencial de aplicação que, por sua vez, está intimamente relacionado com os tipos de funcionalidades requeridas por um sistema computacional. Diante deste cenário, é de extrema importância que o egresso de um curso de Engenharia da Computação esteja habilitado a trabalhar com diferentes estruturas de dados.

OBJETIVO

Objetivo Geral:

  • Ao final do curso, o aluno deverá ser capaz de identificar as principais estruturas de dados utilizadas em aplicações na Engenharia de Computação.

Objetivos Específicos:

Ao completar a unidade curricular, espera-se que os estudantes sejam capazes de:

  • Ser capaz de projetar e implementar estruturas de dados.
  • Desenvolver sistemas computacionais de médio porte, utilizando as potencialidades que cada estrutura de dados possui, explorando ainda sua adequabilidade ao problema computacional em questão

PROGRAMA

  1. Introdução

    1. Conceitos e definição de estruturas de dados

    2. Tipo Abstrato de Dados (TAD)

    3. Vetores dinâmicos

  2. Estruturas de dados básicas

    1. Listas ligadas

    2. Variações de listas ligadas

    3. Filas, Pilhas e aplicações

  3. Árvores

    1. Definição de árvores e seus elementos

    2. Representação e percurso em árvores

    3. Árvores binárias de busca (com inserção e remoção)

    4. Árvores binárias de busca balanceadas, Árvores Rubro-Negras

    5. Fila de prioridades, Heap, Heap sorting

    6. Árvores de busca digital, Tries e Patricia-tries

  4. Grafos

    1. Definições, tipos e aplicações de grafos

    2. Representações: listas encadeadas e matrizes de adjacências

    3. Percurso em grafos: busca em largura e busca em profundidade

    4. Ordenação topológica

    5. Caminhos mínimos: Dijkstra

  5. Hashing

    1. Funções de Transformação

    2. Implementação com listas ligadas

    3. Endereçamento aberto

  6. Pesquisa em Memória Secundária

    1. Conceitos básicos

    2. Árvores B

METODOLOGIA

Distribuição das atividades:

Moodle:

Cronograma:

Semana

Conteúdo

1

Introdução; Tipo abstrato de dados (TAD); Vetores dinâmicos

2

Listas ligadas;

3

Variações de listas ligadas;

4

Filas; Pilhas;

5

Prova 1

6

Árvores; 

7

Árvores binárias de busca (ABB);

8

ABB balanceadas; Árvores rubro-negra;

9

Fila de prioridade; Heap; Heap-sorting;

10

Prova 2

11

Grafos; Representações;

12

Busca em largura; Busca em profundidade;

13

Ordenação topológica; Caminhos mínimos;

14

Hashing;

15

Prova 3

Conteúdo assíncrono:

Semana

Conteúdo

5

Aplicações de Filas e Pilhas; Recursividade;

10

Árvores de busca digital, Tries e Patricia-tries;

15

Pesquisa em Memória Secundária; Árvores-B;

Atendimento aos alunos:

AVALIAÇÃO

Sistema de Avaliação

Provas      

Data

Peso

1

06/05

 0,20

2

19/03

 0,20

18/03

 0,30

Trabalhos

Data

Peso

1

26/01

 0,05

2

02/02

 0,05

08/03

 0,05

4

15/03

 0,05

5

05/04

 0,05

6

12/04

 0,05

* O enunciado de cada trabalho será disponibilizado no início de cada semana, na segunda-feira às 08h00, e prazo para a entrega será na sexta-feira (da mesma semana) até às 17h59.

Sobre os trabalhos:

Distribuição da Pontuação da disciplina:

NF = (T1+T2+T3+T4+T5+T6)*0,05 + (P1+P2)*0,2 + P3*0,3

Obs.: Ti é a nota do Trabalho i, e Pi é a nota da Prova i.

Avaliação de recuperação:

 

BIBLIOGRAFIA

Básica

  1. CORMEN, Thomas H.; RIVEST, Ronald l.; LEISERSON, Charles E. e STEIN, Cliford. Algoritmos: teoria e prática. Rio de Janeiro: Campus, 2012. 926 p., il. Inclui bibliografia e índice. ISBN 9788535236996 (broch.).
  2. GUIMARÃES, Angelo de Moura e LAGES, Newton Alberto de Castilho; Algoritmos e estruturas de dados, 8ª. Edição, LTC, 2008.
  3. PREISS, Bruno R.; Estruturas de dados e algoritmos: padrões de projetos orientados a objetos com Java, Rio de Janeiro, Elsevier, 2001.

Complementar

  1. AHO, Alfred V. e HOPCROFT, John E.;,Data structures and algorithms, Addison-Wesley, 1983.
  2. TENENBAUM, Aaron M e LANGSAM, Yedidyah; Estruturas de dados usando C, São Paulo, Makron Books, 1995.
  3. ASCENCIO, Ana Fernanda Gomes. Estruturas de dados: algoritmos, análise da complexidade e implementações em Java e C/C++. São Paulo: Pearson, c2011. 432 p., il. Inclui bibliografia e índice. ISBN 9788576058816 (broch.).
  4. DROSDEK, Adam; Data Structures and Algorithms in C++ - 4th edition; Cengage Learning; 2013.
  5. GOODRICH, Michael T.; TAMASSIA, Roberto and MOUNT, David M.; Data Structures and Algorithms in C++ - 2nd edition; John Wiley & Sons, 2011.

 

APROVAÇÃO

Aprovado em reunião do Colegiado realizada em: ____/____/______

Coordenação do Curso de Graduação: _________________________

 


logotipo

Documento assinado eletronicamente por Felipe Alves da Louza, Professor(a) do Magistério Superior, em 18/01/2024, às 23:32, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do Decreto nº 8.539, de 8 de outubro de 2015.


QRCode Assinatura

A autenticidade deste documento pode ser conferida no site https://www.sei.ufu.br/sei/controlador_externo.php?acao=documento_conferir&id_orgao_acesso_externo=0, informando o código verificador 5116647 e o código CRC E5D3C98D.




Referência: Processo nº 23117.002005/2024-41 SEI nº 5116647