Вы находитесь на странице: 1из 11

ECOI08 Aula 4

Prof. Rafael Santos


Email: rafafic@gmail.com
rvore Binria de pesquisa
Declarao das estruturas
typedef long TipoChave;

typedef struct TipoRegistro {


TipoChave Chave;
/* outros componentes */
} TipoRegistro;

typedef struct TipoNo * TipoApontador;

typedef struct TipoNo {


TipoRegistro Reg;
TipoApontador Esq, Dir;
} TipoNo;

typedef TipoApontador TipoDicionario;


rvore Binria de pesquisa
Funes da rvore binria

void Inicializa(TipoApontador &Dicionario)


void Insere(TipoRegistro x, TipoApontador &p)
void Pesquisa(TipoRegistro &x, TipoApontador p)
void Retira(TipoRegistro x, TipoApontador &p)
void Antecessor(TipoApontador q, TipoApontador &r)
void Central(TipoApontador p)
rvore Binria de pesquisa
Inicializa
void Inicializa(TipoApontador &Dicionario)
{
Dicionario = NULL;
}
rvore Binria de pesquisa
Insere
void Insere(TipoRegistro x, TipoApontador &p)
{ if (p == NULL){
p = new TipoNo;
p->Reg = x;
p->Esq = NULL;
p->Dir = NULL;
return;
}
if (x.Chave < p->Reg.Chave){
Insere(x, p->Esq);
return;
}
if (x.Chave > p->Reg.Chave)
Insere(x, p->Dir);
else cout<< "Erro : Registro ja existe na arvore\n";
}
rvore Binria de pesquisa
Pesquisa
void Pesquisa(TipoRegistro &x, TipoApontador p)
{
if(p == NULL){
cout<< "Erro: Registro nao esta presente na arvore\n";
return;
}
if(x.Chave < p->Reg.Chave){
Pesquisa(x, p->Esq);
return;
}
if (x.Chave > p->Reg.Chave)
Pesquisa(x, p->Dir);
else x = p->Reg;
}
rvore Binria de pesquisa
Retira
void Retira(TipoRegistro x, TipoApontador &p)
{ TipoApontador Aux;
if(p == NULL){
cout<<"Erro : Registro nao esta na arvore\n";
return;
}
if(x.Chave < p->Reg.Chave){ Retira(x, p->Esq); return; }
if(x.Chave > p->Reg.Chave){ Retira(x, p->Dir); return; }
if(p->Dir == NULL){
Aux = p; p = p->Esq;
delete(Aux);
return;
}
if(p->Esq != NULL){
Antecessor(p, p->Esq);
return;
}
Aux = p; p = p->Dir;
delete (Aux);
}
rvore Binria de pesquisa
Antecessor
void Antecessor(TipoApontador q, TipoApontador &r)
{ if (r->Dir != NULL)
{ Antecessor(q, r->Dir);
return;
}
q->Reg = r->Reg;
q = r;
r = r->Esq;
delete(q);
}
rvore Binria de pesquisa
Central
void Central(TipoApontador p)
{
if (p == NULL) return;
Central(p->Esq);
cout<<p->Reg.Chave<<endl;
Central(p->Dir);
}
rvore Binria de pesquisa

Exerccios
1. Implemente a funo apagar que receba um n
da rvore e apaga todos os ns abaixo e ele
mesmo.
2. Implemente uma funo para contar o nmero de
ns em uma rvore.
3. Implemente uma funo que imprima todas as
folhas.
4. Implemente uma funo que imprima a rvore em
nveis (do n raiz at as folhas).
Referncia Bibliografia

ZIVIANI, Nivio. Projeto de Algoritmos com implementao em Pascal e C.


3a Edio. Ed. Cengage Learning, 2011.

Algumas informaes foram retiradas da Transparncias do livro acima acessados no


site: http://www.dcc.ufmg.br/algoritmos-edicao2/cap1/transp/completo1/cap4.pdf

Вам также может понравиться

  • Lista 10
    Lista 10
    Документ2 страницы
    Lista 10
    Bruno Pinali
    Оценок пока нет
  • Lista 08
    Lista 08
    Документ2 страницы
    Lista 08
    Bruno Pinali
    Оценок пока нет
  • Lista 09
    Lista 09
    Документ2 страницы
    Lista 09
    Bruno Pinali
    Оценок пока нет
  • Lista 01 2012 PDF
    Lista 01 2012 PDF
    Документ7 страниц
    Lista 01 2012 PDF
    Bruno Pinali
    Оценок пока нет
  • Lista 3
    Lista 3
    Документ1 страница
    Lista 3
    Bruno Pinali
    Оценок пока нет
  • Lista 07
    Lista 07
    Документ2 страницы
    Lista 07
    Bruno Pinali
    Оценок пока нет
  • Lista 1
    Lista 1
    Документ3 страницы
    Lista 1
    Bruno Pinali
    Оценок пока нет
  • Gabarito G2 - Q - 15 - 45 PDF
    Gabarito G2 - Q - 15 - 45 PDF
    Документ4 страницы
    Gabarito G2 - Q - 15 - 45 PDF
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 2 PDF
    ECOI08 Aula 2 PDF
    Документ30 страниц
    ECOI08 Aula 2 PDF
    Bruno Pinali
    Оценок пока нет
  • Lista 2
    Lista 2
    Документ2 страницы
    Lista 2
    Bruno Pinali
    Оценок пока нет
  • Gabarito G2 - Q - 17 - 40 PDF
    Gabarito G2 - Q - 17 - 40 PDF
    Документ4 страницы
    Gabarito G2 - Q - 17 - 40 PDF
    Bruno Pinali
    Оценок пока нет
  • Gabarito G2 - S - 15 - 35 PDF
    Gabarito G2 - S - 15 - 35 PDF
    Документ3 страницы
    Gabarito G2 - S - 15 - 35 PDF
    Bruno Pinali
    Оценок пока нет
  • Gabarito G2 - Q - 17 - 40 PDF
    Gabarito G2 - Q - 17 - 40 PDF
    Документ4 страницы
    Gabarito G2 - Q - 17 - 40 PDF
    Bruno Pinali
    Оценок пока нет
  • Gabarito G2 - Q - 17 - 40 PDF
    Gabarito G2 - Q - 17 - 40 PDF
    Документ4 страницы
    Gabarito G2 - Q - 17 - 40 PDF
    Bruno Pinali
    Оценок пока нет
  • Gabarito G2 - Q - 15 - 45 PDF
    Gabarito G2 - Q - 15 - 45 PDF
    Документ4 страницы
    Gabarito G2 - Q - 15 - 45 PDF
    Bruno Pinali
    Оценок пока нет
  • Gabarito G2 - S - 15 - 35 PDF
    Gabarito G2 - S - 15 - 35 PDF
    Документ3 страницы
    Gabarito G2 - S - 15 - 35 PDF
    Bruno Pinali
    Оценок пока нет
  • Gabarito G2 - S - 15 - 35 PDF
    Gabarito G2 - S - 15 - 35 PDF
    Документ3 страницы
    Gabarito G2 - S - 15 - 35 PDF
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 5 PDF
    ECOI08 Aula 5 PDF
    Документ14 страниц
    ECOI08 Aula 5 PDF
    Bruno Pinali
    Оценок пока нет
  • Gabarito G2 - S - 13 - 30
    Gabarito G2 - S - 13 - 30
    Документ4 страницы
    Gabarito G2 - S - 13 - 30
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 2 PDF
    ECOI08 Aula 2 PDF
    Документ30 страниц
    ECOI08 Aula 2 PDF
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 5 PDF
    ECOI08 Aula 5 PDF
    Документ14 страниц
    ECOI08 Aula 5 PDF
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 6 PDF
    ECOI08 Aula 6 PDF
    Документ14 страниц
    ECOI08 Aula 6 PDF
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 3 PDF
    ECOI08 Aula 3 PDF
    Документ17 страниц
    ECOI08 Aula 3 PDF
    Bruno Pinali
    Оценок пока нет
  • Ecoi08 Aula 6
    Ecoi08 Aula 6
    Документ7 страниц
    Ecoi08 Aula 6
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 6
    ECOI08 Aula 6
    Документ8 страниц
    ECOI08 Aula 6
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 4 PDF
    ECOI08 Aula 4 PDF
    Документ11 страниц
    ECOI08 Aula 4 PDF
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 3 PDF
    ECOI08 Aula 3 PDF
    Документ17 страниц
    ECOI08 Aula 3 PDF
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 3 PDF
    ECOI08 Aula 3 PDF
    Документ17 страниц
    ECOI08 Aula 3 PDF
    Bruno Pinali
    Оценок пока нет
  • ECOI08 Aula 8 PDF
    ECOI08 Aula 8 PDF
    Документ23 страницы
    ECOI08 Aula 8 PDF
    Bruno Pinali
    Оценок пока нет
  • O Conceito de Paranoia em Freud
    O Conceito de Paranoia em Freud
    Документ16 страниц
    O Conceito de Paranoia em Freud
    Diogo Lentz Meller
    Оценок пока нет
  • Abstração (Etimologia)
    Abstração (Etimologia)
    Документ4 страницы
    Abstração (Etimologia)
    Gdr Genes
    Оценок пока нет
  • Livros - Comunicação
    Livros - Comunicação
    Документ8 страниц
    Livros - Comunicação
    Ramon Fernandes Lourenço
    100% (1)
  • Marinha - Simulado - RM2
    Marinha - Simulado - RM2
    Документ7 страниц
    Marinha - Simulado - RM2
    Mariana Ribeiro
    Оценок пока нет
  • Plano de Aula - 08.05 A 12.05 - 2º Ano
    Plano de Aula - 08.05 A 12.05 - 2º Ano
    Документ9 страниц
    Plano de Aula - 08.05 A 12.05 - 2º Ano
    Samara Vieira
    Оценок пока нет
  • Atividade Sobre Predicado
    Atividade Sobre Predicado
    Документ7 страниц
    Atividade Sobre Predicado
    Antonia Pereira de Souza
    Оценок пока нет
  • Semana 7 - LPT
    Semana 7 - LPT
    Документ4 страницы
    Semana 7 - LPT
    Luis Francisco
    Оценок пока нет
  • Jogral - 2022
    Jogral - 2022
    Документ4 страницы
    Jogral - 2022
    Willames Delzuite
    Оценок пока нет
  • Rito de Admissão de Coroinhas
    Rito de Admissão de Coroinhas
    Документ2 страницы
    Rito de Admissão de Coroinhas
    Peterson Rocha
    Оценок пока нет
  • PERRIN, Christopher. Introdução À Educação Cristã Clássica
    PERRIN, Christopher. Introdução À Educação Cristã Clássica
    Документ2 страницы
    PERRIN, Christopher. Introdução À Educação Cristã Clássica
    Santana
    33% (3)
  • 55 Aula 1 Série Filosofia Descartes IV
    55 Aula 1 Série Filosofia Descartes IV
    Документ31 страница
    55 Aula 1 Série Filosofia Descartes IV
    Luciana Carmo
    Оценок пока нет
  • Alteridade - Cerqueira Ufrgs
    Alteridade - Cerqueira Ufrgs
    Документ213 страниц
    Alteridade - Cerqueira Ufrgs
    MartaMendes
    Оценок пока нет
  • FJ27 Caelum Spring
    FJ27 Caelum Spring
    Документ98 страниц
    FJ27 Caelum Spring
    Denis Marques
    100% (1)
  • Apostila Excel 2016 Avançado - 03-09-19 - Revisão 04
    Apostila Excel 2016 Avançado - 03-09-19 - Revisão 04
    Документ203 страницы
    Apostila Excel 2016 Avançado - 03-09-19 - Revisão 04
    Guilherme Miyashiro
    100% (2)
  • Espiritualidade Do Sagrado Coração de Jesus
    Espiritualidade Do Sagrado Coração de Jesus
    Документ2 страницы
    Espiritualidade Do Sagrado Coração de Jesus
    Pe. José Valdinã Santos de Jesus, SCJ
    Оценок пока нет
  • Modelo Do TCC
    Modelo Do TCC
    Документ12 страниц
    Modelo Do TCC
    JAIR JOSÉ APC FERREIRA
    Оценок пока нет
  • Livro de Ioná
    Livro de Ioná
    Документ2 страницы
    Livro de Ioná
    Alessandra Ramos Ferreira
    Оценок пока нет
  • Extrato-Lancamentos - Out
    Extrato-Lancamentos - Out
    Документ7 страниц
    Extrato-Lancamentos - Out
    Naton Allves
    Оценок пока нет
  • Universidade Federal Do Rio Grande Do Sul Instituto de Letras Programa de Pós-Graduação em Letras
    Universidade Federal Do Rio Grande Do Sul Instituto de Letras Programa de Pós-Graduação em Letras
    Документ269 страниц
    Universidade Federal Do Rio Grande Do Sul Instituto de Letras Programa de Pós-Graduação em Letras
    Wanessa Damasceno
    Оценок пока нет
  • João 19
    João 19
    Документ29 страниц
    João 19
    Angelo Silva
    Оценок пока нет
  • Teste de Mesa
    Teste de Mesa
    Документ9 страниц
    Teste de Mesa
    Jeffrey Adams
    Оценок пока нет
  • Bateria de Exercícios 550 Com Gabarito
    Bateria de Exercícios 550 Com Gabarito
    Документ38 страниц
    Bateria de Exercícios 550 Com Gabarito
    Claudiano Barbosa da Silva
    100% (1)
  • Reis de Israel
    Reis de Israel
    Документ45 страниц
    Reis de Israel
    Eliezer Valença Dantas
    Оценок пока нет
  • Os Nomes de Cristo - Berkhof
    Os Nomes de Cristo - Berkhof
    Документ4 страницы
    Os Nomes de Cristo - Berkhof
    dortbooks
    Оценок пока нет
  • A Trindade Infernal de Lacan
    A Trindade Infernal de Lacan
    Документ11 страниц
    A Trindade Infernal de Lacan
    Julia Scamparini
    Оценок пока нет
  • O Livro Juvenil Aula 3
    O Livro Juvenil Aula 3
    Документ42 страницы
    O Livro Juvenil Aula 3
    Binho Ferreira
    Оценок пока нет
  • Registro em C
    Registro em C
    Документ2 страницы
    Registro em C
    Júlio César
    Оценок пока нет
  • Hermenêuticas de Narrativas Clássicas
    Hermenêuticas de Narrativas Clássicas
    Документ158 страниц
    Hermenêuticas de Narrativas Clássicas
    Editora Pimenta Cultural
    Оценок пока нет
  • Jesus Chorou
    Jesus Chorou
    Документ10 страниц
    Jesus Chorou
    Glésio Chaves Gomes
    Оценок пока нет
  • Logica Aval
    Logica Aval
    Документ13 страниц
    Logica Aval
    gxepas
    Оценок пока нет