slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.2 PowerPoint Presentation
Download Presentation
INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.2

Loading in 2 Seconds...

play fullscreen
1 / 26

INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.2 - PowerPoint PPT Presentation


  • 106 Views
  • Uploaded on

INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.2. Árvores Binárias. A. C. H. F. D. B. E. G. Árvore Binária. Uma árvore binária é uma árvore N-ária com N = 2. Distingue-se entre uma subárvore esquerda e uma direita. subárvore à esquerda. subárvore à direita.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.2' - ilori


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
INE 5384

Estruturas de Dados

Profa. Patrícia Vilain

2003.2

rvore bin ria

A

C

H

F

D

B

E

G

Árvore Binária
  • Uma árvore binária é uma árvoreN-ária com N = 2.
  • Distingue-se entre uma subárvore esquerda e uma direita.

subárvore à

esquerda

subárvore à

direita

rvore de busca bin ria
Árvore de Busca Binária

Uma árvore binária é uma árvore de busca binária quando:

  • todo elemento armazenado na subárvore esquerda é menor que a raiz r;
  • nenhum elemento armazenado na subárvore direita é menor que a raiz r;
  • as subárvores esquerda e direita também são árvores de busca binária.

Uma árvore binária é ordenada por default.

rvore de busca bin ria1

C

G

H

F

B

A

E

D

Árvore de Busca Binária

subárvore à

esquerda

subárvore à

direita

propriedades

C

G

H

F

B

A

E

D

Propriedades

As propriedades definidas para árvores N-árias também são aplicadas às árvores binárias:

  • Grau de um Nodo
  • Nodo Folha e Nodo Interno
  • Caminho e Comprimento de um Caminho
  • Profundidade de um Nodo
  • Nodo Pai e Nodo Filho
  • Nodo Irmão
  • Nodo Ancestral e Descendente
  • Altura de uma Árvore
propriedade

D

D

D

D

E

E

B

A

B

B

C

Propriedade
  • “O número máximo de nodos em uma árvore binária A com altura h(A) é 2h(a)+1-1”.
busca em largura

C

G

H

F

B

A

E

D

Busca em Largura
  • Percorre a árvore por ordem de profundidade de nodo

10

busca pela ESQ:

C-B-G-A-E-H-D-F

20

busca pela DIR:

C-G-B-H-E-A-F-D

busca em profundidade

C

G

H

F

B

A

E

D

Busca em Profundidade
  • Percorre a árvore por ordem de sub-árvore (recursivamente)

10

20

busca em profundidade em rvore bin ria
Busca em Profundidade em Árvore Binária
  • Tipos de pesquisa em uma busca em profundidade:
    • pré-ordem (ou pré-fixada)
    • pós-ordem (ou pós-fixada)
    • in-ordem (ou in-fixada ou central)
pr ordem em rvore bin ria

C

G

H

F

B

A

E

D

Pré-Ordem em Árvore Binária

Passos:

  • Visita o nodo raiz
  • Pesquisa em pré-ordem a subárvore à ESQ
  • Pesquisa em pré-ordem a subárvore à DIR
pr ordem em rvore bin ria1

C

G

H

F

B

A

E

D

Pré-Ordem em Árvore Binária

Passos:

  • Visita o nodo raiz
  • Pesquisa em pré-ordem a subárvore à ESQ
  • Pesquisa em pré-ordem a subárvore à DIR

pré-ordem:

C-B-A-G-E-D-F-H

p s ordem em rvore bin ria

C

G

H

F

B

A

E

D

Pós-Ordem em Árvore Binária

Passos:

  • Pesquisa em pós-ordem a subárvore à ESQ
  • Pesquisa em pós-ordem a subárvore à DIR
  • Visita o nodo raiz
p s ordem em rvore bin ria1

C

G

H

F

B

A

E

D

Pós-Ordem em Árvore Binária

Passos:

  • Pesquisa em pós-ordem a subárvore à ESQ
  • Pesquisa em pós-ordem a subárvore à DIR
  • Visita o nodo raiz

pós-ordem:

A-B-D-F-E-H-G-C

in ordem em rvore bin ria

C

G

H

F

B

A

E

D

In-Ordem em Árvore Binária

Aplica-se apenas aárvores binárias

Passos:

  • Pesquisa em in-ordem a subárvore à ESQ
  • Visita o nodo raiz
  • Pesquisa em in-ordem a subárvore à DIR
in ordem em rvore bin ria1

C

G

H

F

B

A

E

D

In-Ordem em Árvore Binária

Aplica-se apenas aárvores binárias

Passos:

  • Pesquisa em in-ordem a subárvore à ESQ
  • Visita o nodo raiz
  • Pesquisa em in-ordem a subárvore à DIR

in-ordem:

A-B-C-D-E-F-G-H

modelagem f sica de rvores bin rias

C

G

H

F

B

A

E

D

Modelagem Física de Árvores Binárias

Alternativas de implementação:

  • Array
  • Encadeamento
rvore com array

C

2

B

1

A

0

G

2

E

1

D

0

H

0

C

G

H

A

B

D

E

Árvore com Array

Alternativa 1: (nodo, número de filhos)

rvore com array1

C

2

B

1

A

0

G

2

E

1

D

0

H

0

Árvore com Array

Alternativa 1: (nodo, número de filhos)

  • Desvantagens:
    • dado adicional (número filhos)
    • inserção, remoção:
      • achar a posição correta para inserir/remover um nodo
      • deslocamento
    • consultar o pais de um nodo
    • consultar os filhos de um nodo
rvore com array2

0

1

2

3

4

5

6

7

8

9

10

11

12

13

C

-1

B

0

A

2

G

0

E

6

D

8

H

6

C

G

H

A

B

D

E

Árvore com Array

Alternativa 2: (nodo, posição do nodo pai)

rvore com array3

0

1

2

3

4

5

6

7

8

9

10

11

12

13

C

-1

B

0

A

2

G

0

E

6

D

8

H

6

Árvore com Array

Alternativa 2: (nodo, posição do nodo pai)

  • Desvantagens:
    • dado adicional (posição pai)
    • inserção:
      • buscar pai para descobrir o valor da sua posição
    • exclusão:
      • deslocamento e atualização de referências aos nodos pais no vetor
    • consultar os filhos de um nodo
rvore bin ria com encadeamento

C

G

H

F

A

B

D

E

Árvore Binária com Encadeamento
  • Alternativa 1:

árvore

C

B

G

A

E

H

D

F

esq

dado

dir

classe arvorebinariaencadeada

C

G

H

F

B

A

E

D

Classe ArvoreBinariaEncadeada

public class ArvoreBinariaEncadeada implements ArvoreBinaria {

Comparable elem;

ArvoreBinariaEncadeada esq;

ArvoreBinariaEncadeada dir;

int numElementos;

public ArvoreBinariaEncadeada() {

this.elem = null;

this.esq = null;

this.dir = null;

this.numElementos = 0;

}

classe arvorebinariaencadeada1

C

G

H

F

B

A

E

D

Classe ArvoreBinariaEncadeada

public void insere (Comparable elemento) {