A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estrutura de Dados Unidade 16 Simulação da função EstáNaÁrvore utilizando recursão – 16.1 Prof. Dr. Roberto Ferrari Jr.

Apresentações semelhantes


Apresentação em tema: "Estrutura de Dados Unidade 16 Simulação da função EstáNaÁrvore utilizando recursão – 16.1 Prof. Dr. Roberto Ferrari Jr."— Transcrição da apresentação:

1 Estrutura de Dados Unidade 16 Simulação da função EstáNaÁrvore utilizando recursão – 16.1 Prof. Dr. Roberto Ferrari Jr.

2 16.1: Busca em uma ABB por Recursão Nesta simulação, executaremos o algoritmo da função EstáNaArvore, o qual faz uso de recursão. Veja exemplo abaixo. Boolean Está_na_Árvore(variável por referência R tipo ABB, variável X tipo Inteiro) Se R = Null Então Retorne Falso Senão Se X = Info(R) Então Retorne Verdadeiro Senão Se Info(R)> X Então Retorne ( Está_Na_Árvore(Esq(R), X ) ) Senão Retorne ( Está_Na_Árvore(Dir(R), X ) ) Fim. Trata o Caso 1 – árvore vazia. Dessa forma a função é finalizada retornando FALSO Verifica se a chave X está ou não na árvore R. O resultado da função será verdadeiro (se X está na árvore) ou falso(se X não está na árvore). Trata o Caso 2 – elemento é encontrado. Dessa forma, a função é finalizada retornando VERDADEIRO. Trata o Caso 3 – Se X é menor que o valor do atual elemento da árvore, então retorna o resultado da chamada recursiva, para a busca de X, na sub- árvore esquerda. Trata o Caso 4 – X é maior que o valor do atual elemento da árvore, então retorna o resultado da chamada recursiva, para a busca de X, na sub-árvore direita.

3 16.1: Busca em uma ABB por Recursão Vamos visualizar um caso... Para isso, considerar que: 1. A árvore, denominada aqui de ABBTeste, já foi definida e carregada com valores. 2. A função já foi chamada com os valores R com ABBTeste e X com 39

4 16.1:Busca em uma ABB por Recursão Boolean Está_na_Árvore(R, X) Se R = Null Então Retorne Falso Senão Se X = Info(R) Então Retorne Verdadeiro Senão Se Info(R)> X Então Retorne ( Está_Na_Árvore(Esq(R), X ) ) Senão Retorne ( Está_Na_Árvore(Dir(R), X ) ) Fim. 50 50 28 28126 12 12 39 39 77 77429 R Boolean Está_na_Árvore(R, X) Se R = Null Então Retorne Falso Senão Se X = Info(R) Então Retorne Verdadeiro Senão Se Info(R)> X Então Retorne ( Está_Na_Árvore(Esq(R), X ) ) Senão Retorne ( Está_Na_Árvore(Dir(R), X ) ) Fim. Boolean Está_na_Árvore(R, X) Se R = Null Então Retorne Falso Senão Se X = Info(R) Então Retorne Verdadeiro Senão Se Info(R)> X Então Retorne ( Está_Na_Árvore(Esq(R), X ) ) Senão Retorne ( Está_Na_Árvore(Dir(R), X ) ) Fim. Esta_Na_Arvore(ABBTeste,39) VERDADEIRO! VERDADEIRO

5 FIM...


Carregar ppt "Estrutura de Dados Unidade 16 Simulação da função EstáNaÁrvore utilizando recursão – 16.1 Prof. Dr. Roberto Ferrari Jr."

Apresentações semelhantes


Anúncios Google