Вы находитесь на странице: 1из 19

Preparatório EsAEx

TÉCNICAS DE PROGRAMAÇÃO
Estrutura de Dados
Prof. Ricardo Sant'Ana
Sumário

1 Introdução

2 Conceitos de Pilhas e Árvores

3 Conclusão
Introdução
Lista de Assuntos
 2. TÉCNICAS DE PROGRAMAÇÃO:
• a. Lógica aplicada: algoritmos, técnicas de construção de
algoritmos, resolução de problemas;
• b. Estrutura de dados: vetores, matrizes, cadeia de caracteres,
listas lineares, pilhas, filas, árvores, grafos, pesquisa de dados,
classificação de dados, estruturas e tipos abstratos de dados,
recursividade, eficiência e complexidade;
• c. Programação estruturada: refinamentos sucessivos, estruturas
em blocos, estruturas de controle de fluxo, programação modular,
rotinas, subrotinas, procedimentos e funções (Linguagem C);
• d. Programação orientada a objetos: classes e objetos,
polimorfismo, herança, interface, linguagens orientadas a objetos
(Linguagens C++ e Java);
• e. Linguagens de programação para a Internet: PHP e JSP.
Introdução
Bibliografia
 COSTA, Daniel G. JAVA em Rede: Recursos Avançados. Rio de Janeiro:
Brasport, 2008.
 DEITEL, H. M. JAVA Como Programar. 6. ed. [S.l.]: Editora Bookman, 2006.
 GAMMA, Erich et al. Padrões de Projeto: Soluções Reutilizáveis de Software
Orientado a Objetos. [S.l.]: Bookman, 2005.
 GUIMARÃES, Ângelo de Moura; LAGES, Newton de Castilho. Algoritmos
Estruturados de Dados. [S.l.]: Editora LTC, 1994.
 MORGAN, Michael. JAVA 2 para Programadores Profissionais. [S.l.]: Editora
Ciência Moderna, 2001.
 MUTO, Claudio Adonai. PHP & MYSQL Guia Completo. [S.l.]: Brasport, 2004.
 TENENBAUM, Aaron M.; LANGSAM, Yedidyah; AUGENSTEIN, Moshe J.
Estruturas de Dados Usando C. [S.l.]: Makron Books, 1995.
 VELOSO, Paulo et al. Estrutura de Dados. [S.l.]: Editora Campus, 1983.
 WIRTH, Niklaus. Algorítmos e Estruturados de Dados. [S.l.]: Editora PHB,
1989.
Introdução
Foco (baseado em questões)
 Programação Orientada a Objetos em Java
 Ponteiros em C
 Árvores e Pilhas (Estrutura da Dados)

Foco em Árvores
Conceitos
Estrutura de Dados
 Pilhas
 Árvores
Conceitos
Pilhas
 Operações
• pop()
• push(valor)
• Top()
• IsEmpty()
• IsFull()
 FILO → first in ; last out
 LIFO → last in ; first out
Conceitos
Pilhas
 Notações
• Estruturada
– push(T,1)
– pop(T)
• Orientada a Objetos
– T.push(1)
– T.pop()
Conceitos
Pilhas
 Torre de Hanoi
 Regras ????
Conceitos
Árvores
Composta por
 Raiz
 Ramos ou filhos
 Folhas
Ordem da Árvore
 O número máximo de ramos em um elemento
é chamado ordem da árvore.
Conceitos
A altura de um nó na árvore é o
caminho de maior comprimento que
se pode fazer deste nó a uma folha.
A altura da árvore é a altura de sua
raiz
Conceitos
Árvore binária implementada por
ponteiros:
raiz A
esq dir

B C

E F
D

G H I
Conceitos
Uma árvore binária é aquela de
ordem 2, ou seja, em que cada
elemento possui no máximo 2
ramos.
Há três maneiras recursivas de se
percorrer árvores binárias:
 Percurso em pré-ordem (pré-fixada)
 Percurso em pós-ordem (pós-fixada
 Percurso em ordem (central, infixada)
Conceitos
Algoritmo básico Pré-Ordem:
 Se árvore vazia → fim
 visitar o nó raiz
 percorrer em pré-ordem a sub-árvore esquerda
 percorrer em pré-ordem a sub-árvore direita

ABDCEGFHI
Conceitos
Algoritmo básico Em-Ordem:
 Se árvore vazia → fim
 percorrer em ordem a sub-árvore esquerda
 visitar o nó raiz
 percorrer em ordem a sub-árvore direita

DBAEGCHFI
Conceitos
Algoritmo básico Pós-Ordem:
 Se árvore vazia → fim
 percorrer em ordem a sub-árvore esquerda
 percorrer em ordem a sub-árvore direita
 visitar o nó raiz

DBGEHIFCA
Conceitos
Árvore Exemplo

 Em Ordem: 2, 7, 5, 6, 11, 2, 5, 4 e 9
 Pré Ordem: 2, 7, 2, 6, 5, 11, 5, 9 e 4
 Pós Ordem: 2, 5, 11, 6, 7, 4, 9, 5 e 2
Conclusão
 Perguntas ?
Prof. Ricardo Sant'Ana