Tecnologia da Informação
Ciência da Computação
Série:
2º Ano
Disciplina: Algoritmos e Estrutura de Dados II
Período:
Noturno
Professor:
Data:
Bimestre 2º
16/05/2012
Landir Saviniec
Aluno:
R.A.:
LISTA DE EXERCÍCIOS – ÁRVORES
Exercício 1) Escreva um pseudocódigo que recebe como parâmetro um ponteiro para a raiz de uma árvore e imprime na tela: Primeiro: uma lista dos nós que são filhos da esquerda em relação ao seu nó pai.
Segundo: uma lista dos nós que são filhos da direita em relação ao seu nó pai.
Considere que a árvore usa a seguinte estrutura de nós. tipo No=registro caracter: info; inteiro: esq; inteiro: dir;
Solução:
•
Imprime os nós
Imprime(inteiro: raiz, tipo, tpfilho) se (raizNULL) então
Imprime (raiz.esq, tipo, 0);
Imprime (raiz.dir, tipo, 1); fim se se tpfilho=tipo então
//se é o tipo desejado imprimir(raiz.info); fim se
Fim
•
Procedimento principal
Main() inteiro: raiz, tipo;
...
//Outros proc. para criar e inserir dados na árvore
...
tipo=0; //imprimir filho na esq
Imprime(raiz.esq, tipo, 0);
Imprime(raiz.dir, tipo, 1); tipo=1; //imprimir filho na dir
Imprime(raiz.esq, tipo, 0);
Imprime(raiz.dir, tipo, 1);
Fim
Exercício 2) Escreva um pseudocódigo que recebe como parâmetro um ponteiro para a raiz de uma árvore, soma a quantidade de nós existentes na árvore e imprime o resultado na tela. Utilize a estrutura de nós do exercício 1.
Exercício 3) Escreva um pseudocódigo que recebe como parâmetro um ponteiro para a raiz de uma árvore e imprima o número de nós internos existentes na árvore. Utilize a estrutura de nós do exercício 1.
Exercício 4) Escreva um pseudocódigo que recebe como parâmetro um ponteiro para a raiz de uma árvore e imprima o número de folhas existentes na árvore. Utilize a estrutura de nós do exercício 1.
Exercício 5) Escreva um pseudocódigo que recebe como parâmetro um ponteiro para a raiz de uma árvore e imprima o número de níveis existentes na árvore.