Você está na página 1de 11

13/08/2014

1
Universidade Federal
Rural da Amaznia
Decola Fernandes de Sousa
deciola@yahoo.com.br
ESTRUTURAS DE DADOS I
Carga Horria Total: 68 horas/aula
SEGUNDA-FEIRA(18 S 20)
QUINTA-FEIRA (20 S 22)
13/08/2014
2
OBJETIVO GERAL
Apresentar e analisar as Estruturas de Dados
bsicas, proporcionado amadurecimento no
processo de resoluo de problemas e
utilizao de Tcnicas de Programao mais
avanadas.
Obs: SEGUNDO O PPC O CURSO
OBJETIVOS ESPECFICOS
1. Introduzir o conceito de medida de
complexidade de algoritmos;
2. Analisar algoritmos recursivos e iterativos;
3. Fixar Tcnicas de Programao atravs da
utilizao das Estruturas de Dados bsicas;
4. Apresentar e implementar em Java
algoritmos para Estruturas de Dados clssicas,
tais como: Listas, Pilhas, Filas, rvores Binrias e
Tabelas de Disperso.
13/08/2014
3
EMENTA
Comportamento Assinttico de Algoritmos.
Notaes O, e .
Anlise de Algoritmos Recursivos.
Listas Sequenciais.
Listas Encadeadas.
Listas Ordenadas.
Pilhas, Filas e Deques.
rvores.
rvores Binrias de Busca.
rvores Balanceadas.
Pesquisa Digital.
Hashing.
BIBLIOGRAFIA BSICA
1. ZIVIANI, N. Projeto de Algoritmos com
Implementaes em Java e C++. So Paulo:
Cengage Learning, 2007.
2. ASCENCIO, A. F. G. & ARAJO, G. S. Estruturas
de Dados Algoritmos, Anlise da
Complexidade e Implementaes em JAVA e
C++. So Paulo: Pearson Prentice Hall, 2010.
3. CELES, W.; CERQUEIRA, R.& RANGEL, J. L.
Introduo a Estruturas de Dados com Tcnicas
de Programao em C Srie SBC. Rio de
Janeiro: Campus, 2004.
13/08/2014
4
BIBLIOGRAFIA COMPLEMENTAR
1. EDELWEISS, N. & GALANTE, R. Estruturas de
Dados Srie Livros Didticos Informtica
UFRGS Volume 18. Porto Alegre: Bookman,
2009.
2. CORMEN, T. H; LEISERSON, C. E.; RIVEST, R. L. &
STEIN, C. Algoritmos Teoria e Prtica. 2.
Edio. Rio de Janeiro: Campus, 2002.
3. KNUTH, D. E. The Art of Computer
Programming Volume 1 Fundamentals
Algorithms. 3rd Edition. New York: Addison-
Wesley, 1997
BIBLIOGRAFIA COMPLEMENTAR
4. KOFFMAN, E. B. WOLFGANG, P. A. T. Objetos,
Abstrao, Estruturas de Dados e Projeto
Usando Java. Rio de Janeiro: LTC, 2008.
5. SEDGEWICK, R. & WAYNE, K. Algorithms. 4th
Edition. Addison-Wesley, 2011.
13/08/2014
5
DISCIPLINA
ED I e ED II;
Fortalecer o ensino de programao;
DATAS IMPORTANTES
1 NAP(Avaliao Parcial) => 02/10/14
2 NAP(Avaliao Parcial) => 20/11/14
2 CHAMADA(1 e 2NAP) => 24/11/14
NAF(Avaliao Final) => 01/12/14
NAC(Avaliao Comp. => 15ou16/12/14
13/08/2014
6
SISTEMA DE AVALIAO
Frequncia mnima de 75% da carga horria
da disciplina.
Cada dia duas aulas.
Mximo 17 faltas.
Dias excludo(calendrio da UFRA)
3140_UFRA Calendario 2014-2 (alteraes
CONSEPE) (1).pdf
SISTEMA DE AVALIAO
1 NAP+2NAP >= 16 APROVADO
1 NAP+2NAP+NAF >= 18 APROVADO
(1 NAP+2NAP+NAF)/3 < 4 DEPENDNCIA
(1 NAP+2NAP+NAF)/3 + NAC >= 12
APROVADO
13/08/2014
7
INTRODUO
O que so dados?
O que informao?
O que significar ESTRUTURAR OS DADOS?
importante estruturar os dados?
INTRODUO
Mencione a palavra computao a vrias
pessoas e as reaes sero as mais variadas
possveis.
Varia conforme o relacionamento do ouvinte
como que venha a ser computao.
13/08/2014
8
INTRODUO
O QUE O COMPUTADOR?
HARDWARE
SOFTWARE
FUNCIONAMENTO DO COMPUTADOR
ENTRADA
PROCESSO
SADA
13/08/2014
9
O PROCESSO DE SOLUO DE UM
PROBLEMA POR MEIO DE
COMPUTADOR
Especificao do problema
Projeto em alto nvel e anlise de alternativas
Refinamento e codificao
Verificao do comportamento
ALGORITMO?
Sequncia ordenada de passos, com
incio e fim, quando bem definidos
conduzem soluo do problema.
13/08/2014
10
DADOS
Representamuma abstrao da realidade.
No cadastro de funcionrios de uma empresa, cada
empregado representado, de modo abstrato, neste arquivo
por meio de um conjunto de dados que so relevantes para a
empresa.
Na resoluo de umproblema como auxlio do computador,
necessrio escolher primeiro uma abstrao da realidade, isto
, definir um conjunto de dados que iro representar uma
situao real.
REPRESENTAO INTERNA
Baseada emdgitos binrios (bits).
Esta representao prpria para uso de seres
humanos????
Qual a soluo????
13/08/2014
11
PROGRAMAO
Linguagem
Veremos na disciplina Estruturas de Dados
como analisar as principais estruturas de
dados no processo de resoluo de
problemas e utilizao de Tcnicas de
Programao mais avanadas.