TÉCNICAS DE PROGRAMAÇÃO
Estrutura de Dados
Prof. Ricardo Sant'Ana
Sumário
1 Introdução
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