Escolar Documentos
Profissional Documentos
Cultura Documentos
90
50 97
34 81 93 99
16 49 95
90
50 97
34 81 93 99
16 49 95
90
e
50 97
34 81 93 99
16 49 95
90
e d
50 97
34 81 93 99
16 49 95
90
50 97
34 81 93 99
16 49 95
90
50 97
34 81 93 99
16 49 95
90
50 97
34 81 93 99
16 49 95
p
90
50 97
34 81 93 99
16 49 95
90
p 97
50
34 81 93 99
16 49 95
90
50 97
p 34 81 93 99
16 49 95
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
noArvore ↑p;
se T = NULO
então p NULO;
senão p T;
p Eprox(p);
fimEnquanto
fimSe
retorna p;
fimFunção
90
50 97
34 81 93 99
16 49 95
x = 95
90
50 97
34 81 93 99
16 49 95
x = 95
T
90
50 97
34 81 93 99
16 49 95
x = 95
T
90
50 97
34 81 93 99
16 49 95
x = 95
90
T
50 97
34 81 93 99
16 49 95
x = 95
90
50 97
T
34 81 93 99
16 49 95
x = 95
90
50 97
34 81 93 99
T
16 49 95
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
se T = NULO
senão se x = Info(T)
então retorna T;
fimSe
fimSe
fimSe
fimFunção
90
50 97
34 81 93 99
16 49 95
x = 85
90
50 97
34 81 93 99
16 49 95
x = 85
T
90
50 97
34 81 93 99
16 49 95
x = 85
T
90
50 97
34 81 93 99
16 49 95
x = 85
90
T
50 97
34 81 93 99
16 49 95
x = 85
90
50 97
T
34 81 93 99
16 49 95
x = 85
90
50 97
34 81 93 99
T
16 49 95
x = 85
90
50 97
34 81 93 99
T
16 49 85 95
50
15 70
10 33 61 99
12 80
11 14 88
50
15 70
10 33 61 99
12 80
11 14 88
15 70
10 33 61 99
12 80
11 14 88
15 70
10 33 61 99
12 80
11 14 88
10 33 61 99
12 80
11 14 88
10 33 61 99
12 80
11 14 88
50
15 70
10 33 61 99
12 80
P T
11 14 88
50
15 70
10 33 61 99
12 80
T
P
14 88
11
50
15 70
10 33 61 99
12 80
T
P
14 88
11
50
15 70
10 33 61 99
12 80
T
P
14 88
11
50
15 70
T
P
10 33 61 99
12 80
14 88
50
T 15 70
P
10 33 61 99
12 80
14 88
50
15 70
T
P
10 33 61 99
12 80
14 88
50
15 70
T
P
10 33 61 99
12 80
14 88
50
15 70
P
T 33 61 99
10
12 80
14 88
50
T P
15 70
33 61 99
12 80
14 88
50
T
R
15 70
33 61 99
P
12 80
14 88
50
T
R
15 80
33 61 99
P
12 80
14 88
50
T
R
15 80
33 61 99
P
12 80
14 88
50
T
R
15 80
33 61 99
P
12
80
14 88
50
T
R
15 80
33 61 99
P
12
80
14 88
50
T
R
15 80
33 61 99
P
12
80
14 88
50
T
R
15 80
33 61 99
P
12
80
14 88
50
T
R
15 80
33 61 99
P
12
80
14 88
50
15 80
33 61 99
12
14 88
50
15 80
33 61 99
12
14 88
1
2
Estrutura de Dados Prof. Marcos Alves 91
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P;
R P;
P Dprox(P);
1 3
2
Estrutura de Dados Prof. Marcos Alves 92
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P;
R P;
P Dprox(P);
1 3
2
Estrutura de Dados Prof. Marcos Alves 93
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P;
R P;
P Dprox(P);
1 3
2
Estrutura de Dados Prof. Marcos Alves 94
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P;
R P;
P Dprox(P);
1 3
2
Estrutura de Dados Prof. Marcos Alves 95
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P;
R P;
P Dprox(P);
1 3
2
Estrutura de Dados Prof. Marcos Alves 96
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P;
R P;
P Dprox(P);
1 3
2
Estrutura de Dados Prof. Marcos Alves 97
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P;
R P;
P Dprox(P);
1 3
2
Estrutura de Dados Prof. Marcos Alves 98
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P; 12
R P; P T
P Dprox(P);
11 14
1 3
2
Estrutura de Dados Prof. Marcos Alves 99
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P; 12
R P; P T
P Dprox(P);
11 14
1 3
2
Estrutura de Dados Prof. Marcos Alves 100
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
15
noArvore ↑P; então DProx(R) T DProx(P);
P T; senãoP EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe 10 33
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P; 12
R P;
P Dprox(P);
14
1 3
2
Estrutura de Dados Prof. Marcos Alves 101
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
15
noArvore ↑P; então DProx(R) DProx(P);
P T; P
senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe T 33
senão se Eprox(P) = NULO então fimSe
10
T DProx(P); fimSe
senão fimFunção
noArvore ↑P; 12
R P;
P Dprox(P);
14
1 3
2
Estrutura de Dados Prof. Marcos Alves 102
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção
noArvore ↑P;
R P;
P Dprox(P);
1 3
2 4
Estrutura de Dados Prof. Marcos Alves 103
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P); P
P T; senão EProx(R)50 Dprox(P);
se DProx(P) = NULO então fimSe
T
T Eprox(P); fimSe
70
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção 61 99
noArvore ↑R;
R P;
P Dprox(P); 80
1 3 88
2 4
Estrutura de Dados Prof. Marcos Alves 104
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P); R
P T; senão EProx(R)50 Dprox(P);
se DProx(P) = NULO então fimSe
T
T Eprox(P); fimSe
70
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção 61 99
noArvore ↑R;
R P;
P Dprox(P); 80
1 3 88
2 4
Estrutura de Dados Prof. Marcos Alves 105
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P); R
P T; senão EProx(R)50 Dprox(P);
se DProx(P) = NULO então fimSe
T
T Eprox(P); fimSe P
70
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção 61 99
noArvore ↑R;
R P;
P Dprox(P); 80
1 3 88
2 4
Estrutura de Dados Prof. Marcos Alves 106
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P); R
P T; senão EProx(R)50 Dprox(P);
se DProx(P) = NULO então fimSe
T
T Eprox(P); fimSe P
70
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção 61 99
noArvore ↑R;
R P;
P Dprox(P); 80
1 3 88
2 4
Estrutura de Dados Prof. Marcos Alves 107
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R)50 Dprox(P);
se DProx(P) = NULO então fimSe
T
T Eprox(P); fimSe
R
70
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção 61 99
noArvore ↑R;
R P;
P Dprox(P); 80
P
1 3 88
2 4
Estrutura de Dados Prof. Marcos Alves 108
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R)50 Dprox(P);
se DProx(P) = NULO então fimSe
T
T Eprox(P); fimSe
R
70
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção 61 99
noArvore ↑R;
P
R P;
P Dprox(P); 80
1 3 88
2 4
Estrutura de Dados Prof. Marcos Alves 109
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R)50 Dprox(P);
se DProx(P) = NULO então fimSe
T
T Eprox(P); fimSe
R
80
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe
senão fimFunção 61 99
noArvore ↑R;
P
R P;
P Dprox(P); 80
1 3 88
2 4
Estrutura de Dados Prof. Marcos Alves 110
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe R
T Eprox(P); fimSe 50
T
senão se Eprox(P) = NULO então fimSe P
T DProx(P); fimSe 80
senão fimFunção
noArvore ↑R;
R P; 61 80
P Dprox(P);
1 3 99
2 4
Estrutura de Dados Prof. Marcos Alves 111
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe R
T Eprox(P); fimSe 50
T
senão se Eprox(P) = NULO então fimSe
T DProx(P); fimSe 80
senão fimFunção
noArvore ↑R;
R P; 61
P
P Dprox(P);
1 3 80
99
2 4
Estrutura de Dados Prof. Marcos Alves 112
3. Função para remover um valor x em uma árvore binária de busca.
Função removeArvoreBinaria( var noArvore ↑T, inteiro x )
1 3
se T ≠ NULO então 2 4 enquanto EProx(P) ≠ NULO faça
se x < Info(T) então R P;
removeArvoreBinaria(EProx(T), x); P EProx(P);
senão se x > Info(T) então fimEnquanto
removeArvoreBinaria(DProx(T), x); Info(T) Info(P);
senão // x foi encontrado se T = R
noArvore ↑P; então DProx(R) DProx(P);
P T; senão EProx(R) Dprox(P);
se DProx(P) = NULO então fimSe
T Eprox(P); fimSe 50
T
senão se Eprox(P) = NULO então fimSe R
T DProx(P); fimSe 80
senão fimFunção
noArvore ↑R;
61 99
R P;
P Dprox(P);
1 3 P
2 4 80
88
Estrutura de Dados Prof. Marcos Alves 113