You are on page 1of 2

CURSO:

ENGENHARIA DE SOFTWARE

DISCIPLINA:

Estruturas de Dados e Algoritmos

TURMA

SEMESTRE:

2013.2

CRDITOS:

PROFESSOR:

Giovanni Almeida Santos

LISTA DE EXERCCIOS 4
RVORES BINRIAS
Para a resoluo dos exerccios abaixo, voc ter que implementar uma estrutura para representar uma rvore. Alm disso,
as seguintes funes devero ser construdas:
inserir() recebe dois parmetros, um ponteiro para a rvore e o elemento a ser inserido
pre_ordem() recebe um ponteiro para a raiz da rvore e, recursivamente, mostra os elemento em pr-ordem
em_ordem() recebe um ponteiro para a raiz da rvore e, recursivamente, mostra os elemento em ordem
pos_ordem() recebe um ponteiro para a raiz da rvore e, recursivamente, mostra os elemento em ps-ordem
profundidade() recebe um ponteiro para a raiz da rvore e retorna a profundidade (altura) da rvore, recursivamente
contar_folhas() recebe um ponteiro para a raiz da rvore e retorna o nmero de folhas da rvore, recursivamente
mostrar_folhas() recebe um ponteiro para a raiz da rvore e mostra as folhas da rvore, recursivamente

23) A profundidade (altura) de uma rvore representada pelo valor do maior nvel existente na rvore. Dessa forma, faa
um programa que leia um nmero inteiro N (N >= 0) e uma sequncia de nmeros inteiros, armazenando-os em uma rvore
binria de busca. A sada do programa dever ser o valor da profundidade (altura) da rvore seguido de um caracter de nova
linha (\n). Considere que o primeiro nvel da rvore (nvel da raiz) o valor 1.

5
1
0
12

Entrada
35 12 20 78 44
35
7 14 45 67 23 8 19 3 29 34 90 10

Sada
3
1
0
6

24) Em rvore binria, uma folha representada por um n que no possui filhos. Com base nisso, faa um programa que
receba um nmero inteiro N (N >= 0) e uma sequncia de nmeros inteiros, armazenando-os em uma rvore binria de
busca. A sada do programa dever ser o nmero de folhas contidas na rvore, seguido de um caracter de nova linha (\n).
A tabela abaixo mostra exemplos de entradas e sadas para o programa.

5
1
0
12

Entrada
35 12 20 78 44
35
7 14 45 67 23 8 19 3 29 34 90 10

Sada
2
1
0
5

25) Em rvore binria, uma folha representada por um n que no possui filhos. Com base nisso, faa um programa que
receba um nmero inteiro N (N >= 0) e uma sequncia de nmeros inteiros, armazenando-os em uma rvore binria de
busca. A sada do programa dever ser a lista dos valores contidos nas folhas presentes na rvore, separados por espao em
branco, seguida de um caracter de nova linha (\n). Por questes de simplificao, dever haver um espao em branco aps
o ltimo nmero da lista. A tabela abaixo mostra exemplos de entradas e sadas para o programa.
1

5
1
2
12

Entrada
35 12 20 78 44
35
90 90
7 14 45 67 23 8 19 3 29 34 90 10

Sada
20 44
35
90
3 10 19 34 90

26) Em rvore binria, uma folha representada por um n que no possui filhos. Com base nisso, faa um programa que
receba um nmero inteiro N (N >= 0) e uma sequncia de nmeros inteiros, armazenando-os em uma rvore binria de
busca. O programa dever mostrar a lista de valores contidos na rvore utilizando a travessia de pr-ordem.

5
1
2
12

Entrada
35 12 20 78 44
35
90 90
7 14 45 67 23 8 19 3 29 34 90 10

Sada
35 12 20 78 44
35
90
7 3 14 8 10 45 23 19 29 34 67 90

27) Em rvore binria, uma folha representada por um n que no possui filhos. Com base nisso, faa um programa que
receba um nmero inteiro N (N >= 0) e uma sequncia de nmeros inteiros, armazenando-os em uma rvore binria de
busca. O programa dever mostrar a lista de valores contidos na rvore utilizando a travessia em ordem.

5
1
2
12

Entrada
35 12 20 78 44
35
90 90
7 14 45 67 23 8 19 3 29 34 90 10

Sada
12 20 35 44 78
35
90
3 7 8 10 14 19 23 29 34 45 67 90

28) Em rvore binria, uma folha representada por um n que no possui filhos. Com base nisso, faa um programa que
receba um nmero inteiro N (N >= 0) e uma sequncia de nmeros inteiros, armazenando-os em uma rvore binria de
busca. O programa dever mostrar a lista de valores contidos na rvore utilizando a travessia de ps-ordem.

5
1
2
12

Entrada
35 12 20 78 44
35
90 90
7 14 45 67 23 8 19 3 29 34 90 10

Sada
20 12 44 78 35
35
90
3 10 8 19 34 29 23 90 67 45 14 7

You might also like