Você está na página 1de 26

Viso geral

Apresentao da disciplina:
Tipos de dados abstratos. Listas e seus casos especficos (pilha e fila).
Recursividade. Algoritmos de pesquisa em listas. Classificao.
Conceitos introdutrios sobre rvores e grafos.


Objetivos:
Capacitar os alunos a reconhecer e desenvolver e implementar as
estruturas de dados FIFO LIFO, bem alocao dinmica de memria
utilizados e os processos compreendidos nas etapas de busca de
ordenao de valores.

Contedo Programtico:
1. Listas Lineares - Alocao Sequencial
1.1. Fila
1.2. Pilha
1.3. Fila Circular
2. Lista Lineares Alocao Encadeada
2.1. Ponteiros e Apontadores
3. Alocao dinmica de memria
3.1. Listas lineares simplesmente encadeadas Operaes de incluso e
excluso direita e esquerda
3.2. Listas lineares duplamente encadeadas Operaes de incluso e
excluso direita e esquerda
4. Recursividade
4.1. Aplicao de Recursividade.
5. Depurao de cdigo.
5.1. Definir ponto de inicio para a depurao
5.2. Seqncias de execuo
5.3. Avaliao de Expresses
5.4. Painel de armazenamento de variveis
6. Introduo a rvores e Grafos
6.1. rvores Binrias
rvores de Pesquisa

Metodologia:

Os contedos programticos ofertados nessa disciplina sero
desenvolvidos por meio das Tele-Aulas de forma expositiva e interativa
(chat tira dvidas em tempo real), Aula Atividade por Chat para
aprofundamento e reflexo eWeb Aulas que estaro disponveis
no Ambiente Colaborar, compostas de contedos de aprofundamento,
reflexo e atividades de aplicao dos contedos e avaliao. Sero
tambm realizadas atividades de acompanhamento tutorial,
participao em Frum, atividades prticas e estudos independentes
(auto estudo) alm do Material didtico por disciplina.



Avaliao Prevista:

O sistema de avaliao da disciplina compreende em assistir a tele-
aula, participao no frum, produo de texto/trabalho
no portflio, realizao de duas avaliaes virtuais, uma avaliao
presencial embasada em todo o material didtico, tele-aula e web aula
da disciplina.

Web Aula 1
Introduo a Listas Lineares de Fila por Alocao Sequencial,
utilizando teste de mesa para melhor compreenso.

Implementao das operaes de insero, pesquisa, modificao e excluso, em uma lista
linear de fila por alocao sequencial.

Insero: da varivel Y para V .............. Y V
Respeitando a regra de fila sempre no final.

Excluso: de V para varivel Y ............ Y V
Respeitando a regra de fila sempre no incio

Pesquisa: localiza varivel Y em V ....... Y ? V
Respeitando a regra de fila a partir do incio

Modificao: localiza varivel Y em V; troca valor de V pela varivel X X V ? V
Um exemplo de Insero da varivel Y para V .............. Y V

se FIM = n
ento OVERFLOW;
seno FIM := FIM +1;
V[FIM] := Y; (onde Y = Felipe)
se FIM = 1 ento COMEO := 1;
fim se;

Segue abaixo a tela inicial do nosso algoritmo, onde encontraremos valores para Fim = 3, Y=
Felipe e Comeo = 1.



Prximo passo:
Fim comea com valor 3 e N com valor 4.
Como no so iguais, no teremos erro de fim de fila overflow. Ento, como no final
de fila:
Fim ser 3 mais 1, ficando Fim = 4. Observe na figura abaixo.

ltimo passo:
V[FIM] := Y , ou seja, V[4] := Felipe (onde V[4] indica a quarta posio do vetor da fila)
E se Fim fosse 1, iria atribuir 1 para a varivel comeo se FIM = 1, ento, COMEO := 1.

(neste primeiro exemplo, esta condio no ser atendida, pois Fim est valendo 4
e no 1).

Exemplo: Insero da varivel Y para V - Y V com Overflow
se FIM = n
ento OVERFLOW;
seno FIM := FIM +1;
V[FIM] := Y; (onde Y = Felipe)
se FIM = 1 ento COMEO := 1;
fim se;
Utilizando o nosso algoritmo, ainda podemos avaliar que a varivel Fim est iniciando com valor
4, e N tambm tem valor 4. Ento, seFIM = n, teremos a situao de OVERFLOW;





Exemplo: de YV para 1 elemento Y V
se FIM = n
ento OVERFLOW;
seno FIM := FIM +1;
V[FIM] := Y; (onde Y = Felipe)
se FIM = 1 ento COMEO := 1;
fim se;
Primeiro passo: onde Fim = 0, ento Fim = N no, pois N igual a 4.





Passo 2 Fim ir receber 0 + 1, ficando com valor Fim = 1.

[FIM] := Y , ou seja, V[1] := Felipe (onde V[1] indica a primeira posio do vetor da fila)

Note que iremos, ento, na condio ainda no explorada,
se FIM = 1 ento Comeo := 1

Um exemplo de Excluso: de V para varivel Y Y V

se FIM = 0
ento UNDERFLOW;
seno Y:= V[COMEO];
COMEO := COMEO + 1;
se COMECO>FIM ento COMEO := 0;
FIM := 0;
fim se
fim se;

Se o Fim for igual a zero, ento teremos um underflow, ou seja, no h nada na fila. Neste
exemplo inicial, no temos situao de underflow.
Siga o primeiro modelo da figura esquerda.
Situao inicial do nosso algoritmo, ento, como fim no zero,
Siga o modelo da figura direita.
Primeiro, Y ir receber o valor encontrado no vetor na posio 1 que o valor da varivel comeo.
se COMEO>FIM, ento, COMEO := 0 e FIM := 0 como comeo no maior, eu fim ainda no ir
satisfazer esta condio.


A partir da figura da sua direita, execute o algoritmo mais duas vezes e nos encaminhe o teste de mesa
da forma apresentada acima.

Execute o mesmo algoritmo, mas iniciando com a varivel COMEO = 3 e FIM = 3. Nos encaminhe o
teste de mesa da forma apresentada acima.
Construa um algoritmo de insero e outro de excluso de nodos de uma fila de n elementos, de
tal forma que a fila cresa para frente, ou seja, da ensima posio para a primeira.



Grande inconveniente da estrutura de fila
Situaes de OVERFLOW podem ocorrer com a fila praticamente vazia;
Motivo: no aproveitamento, deixando posies vazias (sem contedo).
Web Aula 2
Introduo Pilha Duplamente Encadeada, usando teste de mesa
para melhor compreenso.
Na estrutura virtual de pilha:
As incluses so feitas no topo;
As excluses so feitas no topo;
A consulta feita partir do topo;
Insero: da varivel Y para PILHA .............. Y PILHA
Excluso: de PILHA para varivel Y ............. Y PILHA
Pesquisa: localiza varivel Y na PILHA ........ Y ? PILHA
Modificao: localiza varivel Y em PILHA; troca valor de PILHA pela varivel X
............ X Y ? PILHA
Y PILHA - Incluso


Vamos avaliar o algoritmo abaixo, com teste de mesa:
aloc P;
P.INFO := Y;
P.PROX := TOPO;
TOPO := P;
Observe a tela inicial, antes da execuo do algoritmo acima. Para acompanhar o passo a passo,
siga as fechas.


Passo 1: aloc P;


Passo 2: P.INFO := Y;

Passo 3: P.PROX := TOPO;

Passo 4: TOPO := P;
Note que a fecha de relacionamento do TOPO, de Orlando passou para Aberto, pois Alberto de
fato o topo, o ltimo elemento da pilha.

Y PILHA - Excluso

se TOPO=L
ento UNDERFLOW;
seno Y:= TOPO.INFO;
P:= TOPO;
TOPO:= TOPO.PROX;
lib P;
fim se;

Observe novamente o passo-a-passo.
Observe a tela ao lado.Indica a tela inicial antes que o algoritmo se inicie.


Passo 1: Verifica se a pilha est vazia. Como no est neste momento, executa o comando Y:= TOPO-
.INFO;
Este atribui o valor ao nodo topo da lista, na varivel Y.


Passo 2: P ir receber o topo que, neste momento, Orlando.
P:= TOPO;


Passo 3: Topo passa a ser o prximo nodo depois do Orlando, j que este o nodo e estamos
excluindo.
TOPO:= TOPO.PROX;


Passo 4: Libera o nodo onde estava o Orlando. Note como demonstra a fecha onde est o topo, como
finalizou a figura.
lib P;






Y ? PILHA - Pesquisa

P:= TOPO;
enquanto TOPO # L e TOPO.INFO # Y faa
TOPO:= TOPO.PROX;
fim enquanto;
se TOPO # L
ento SUCESSO;
seno FRACASSO;
fim se;
TOPO:=P;

Observe a tela abaixo. Indica a tela inicial antes que o algoritmo se inicie.

Passo 1: Aloca o nodo topo da pilha.
P:= TOPO;

Passo 2: Enquanto ainda existir pilha e o Topo dela for diferente da varivel Y.
TOPO # L ou TOPO.INFO # Y
O topo ir receber o prximo nodo da pilha.
TOPO:= TOPO.PROX;


A condio do enquanto ainda no foi satisfeita; no pilha vazia; nem o topo Paulo igual varivel
Y = Rogerio.


Observe que a condio do enquanto foi satisfeita, pois o topo da pilha, neste momento, Rogerio
Assim, com a varivel Y, o lao interrompido neste ponto.

Passo 3: Se aps terminado o loop (condio enquanto) a pilha ainda no estiver vazia, ento houve
Sucesso, ou seja, encontrou o Rogerio na pilha.
TOPO # L


Passo 4: Topo recebe P, onde P Orlando, ltimo nodo da pilha, cuja finalidade recomear o
algoritmo. E toda pesquisa deve iniciar pelo topo.
TOPO:=P;



X Y ? PILHA - Pesquisa e Alterao

Segue algoritmo abaixo como modelo de pesquisa e alterao.
P:= COMEO;
enquanto COMEO # L e COMEO.INFO # Y faa
COMEO:= COMEO.PROX;
fim enquanto;
se COMEO # L
ento COMEO.INFO := X;
SUCESSO;
seno FRACASSO;
fim se;
COMEO:=P;

Você também pode gostar