DC-UFRPE/Licenciatura Plena em Computação/Algoritmos e Estruturas de Dados

Programa da Disciplina editar

Nome: Algoritmos e Estruturas de Dados
Código: 06214
Departamento: Departamento de Computação (DC)
Área: Computação
Carga-horária total: 60 horas
Créditos: 4
Pré-requisitos: PROGRAMAÇÃO I (Cód. 14083)

MATEMÁTICA DISCRETA I (Cód. 14203)

Ementa editar

 
Funcionamento da Árvore AVL

Análise de Algoritmos: Notação O e Análise Assintótica. Algoritmos para pesquisa e ordenação em memória principal e secundária. Organização de arquivos. Técnicas de recuperação de informação. Listas lineares e suas generalizações: listas ordenadas, listas encadeadas, pilhas e filas. Aplicações de listas. Árvores e suas generalizações: árvores binárias, árvores de busca, árvores balanceadas (AVL), Árvores B e B+. Aplicações de árvores.

Objetivos editar

  • Introduzir os conceitos das principais estruturas de dados computacionais;
  • Introduzir conceitos como análise algorítmica, ordenação de dados, recuperação de informação e classes de complexidade algorítmicas;
  • Capacitar o aluno ao desenvolvimento de programas computacionais para a resolução de problemas que envolvam os principais tipos de estruturas de dados;
  • Capacitar o aluno ao desenvolvimento de sistemas computacionais que façam uso de estruturas de dados complexas.

Apresentação da disciplina editar

 
Funcionamento do algoritmo de ordenação Mergesort.

Na disciplina de Algoritmos e Estruturas de dados o aluno aprende a manipular estruturas clássicas usadas para o armazenamento e representação de dados em computadores.

Conteúdo Programático editar

A disciplina é construída de duas formas:

  • Parte Teórica: Estudo do funcionamento de cada estrutura que será abordada na disciplina, análise da complexidade de tais estruturas.
  • Parte Prática: Desenvolvimento, com o auxílio de uma linguagem de programação, de algoritmos para a implementação das técnicas vistas na parte teórica, assim como modificações propostas sobre as mesmas.

Bibliografia editar

Bibliografia Básica editar

CORMEN, Thomas H. et. al. Algoritmos: Teoria e Prática. Editora Campus, 2012.

FEOFILOFF, Paulo. Algoritmos em Linguagem C. Editora Campus/Elsevier, 2008-2009.

ZIVIANI, Nivio. Projeto de Algoritmos: com implementações em Pascal e C. 2. ed. rev. e ampl. São Paulo: Thomson, 2005.

Bibliografia Complementar editar

MANBER,Udi.IntroductiontoAlgorithms:ACreativeApproach.AddisonWesley,1989.

FARRER,Harry;BECKER,ChristianoGonçalves;FARIA,EduardoChavesetal.AlgoritmosEstruturados.3aed.RiodeJaneiro:LTC,1999.

FORBELLONE,AndréL.V.Ebesrpacher,HenriF.Lógicadeprogramação-aconstruçãodealgoritmoseestruturasdedados,2aed.SãoPaulo:MakronBooks,2000

SZWARCFITER,J.EstruturasdeDadoseseusAlgoritmos.RiodeJaneiro:LTC,1994.

KRUSE,RobertL;RYBA,AlexanderJ.DataStructuresandProgramDesigninC++.PrenticeHall,1999.

BHARGAVA, A. Y. Entendendo Algoritmos: um guia ilustrado para programadores e outros curiosos. São Paulo, SP: Novatec, 2017.