Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Árvore Binária, Provas de Direito

Cada nó v da árvore é “visitado” três vezes pelo caminhamento de Euler. Cada “visita” pode corresponder a uma “ação” a ser tomada pelo algoritmo, ...

Tipologia: Provas

2023

Compartilhado em 17/01/2023

Leila_89
Leila_89 🇵🇹

4.4

(80)

3.2K documentos

1 / 13

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Árvores 1
Árvore Binária
Árvore com as seguintes propriedades:
Cada nó interno tem no máximo dois filhos
Os filhos de um nó formam um par ordenado (filho da
esquerda, filho da direita)
Árvore binária própria
Cada nó tem zero ou dois filhos
Aplicações
Expressões aritméticas
Árvores de decisão
A
B C
F G D E
H I
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Pré-visualização parcial do texto

Baixe Árvore Binária e outras Provas em PDF para Direito, somente na Docsity!

Árvore Binária

• Árvore com as seguintes propriedades:

  • Cada nó interno tem no máximo dois filhos
  • Os filhos de um nó formam um par ordenado (filho da

esquerda, filho da direita)

• Árvore binária própria

  • Cada nó tem zero ou dois filhos

• Aplicações

  • Expressões aritméticas
  • Árvores de decisão

A

B C

D E F G

H I

Árvore de Expressões Aritméticas

  • Árvore associada a uma expressão aritmética
    • Nós internos: operadores
    • Nós externos: operandos
  • Exemplo: (2 x (a–1) + (3 x b))

a 1

3 b

Propriedades da Árvore Binária

  • Número máximo de nós em um nível h é 2 h
  • Número total de nós é, no máximo, 2 h+1^ - 1

Nível Nós

Propriedades da Árvore Binária Própria

  • Notação
    • n = número de nós
    • e = nós externos
    • i = nós internos
    • h = altura (height)

 Propriedades

 e = i + 1  n = 2e – 1  h + 1  e  2 h  h  i  2 h^ – 1  h  log 2 (n + 1) – 1  h  (n - 1)/

AB – Caminhamentos

  • Prefixado
  • Pós-fixado

Algoritmo binaryPreOrder(T, v)

execute a ação para o nó v se T.isInternal(v) então binaryPreOrder(T, T.leftChild(v)) binaryPreOrder(T, T.rightChild(v))

Algoritmo binaryPostOrder(T, v)

se T.isInternal(v) então binaryPostOrder(T, T.leftChild(v)) binaryPostOrder(T, T.rightChild(v)) execute a ação para o nó v

AB – Caminhamentos

  • Interfixado

Expressão Aritmética: ((2  (a - 1)) + (3  b))

Algoritmo inOrder(T, v) se T.isInternal(v) então inOrder(T, T.leftChild(v)) execute a ação para o nó v se T.isInternal(v) então inOrder(T, T.rightChild(v))

a 1

3 b

AB – Caminhamento de Euler

  • Cada nó v da árvore é “visitado” três vezes pelo

caminhamento de Euler. Cada “visita” pode corresponder a

uma “ação” a ser tomada pelo algoritmo, como segue:

  • “ação pela esquerda” (antes do caminhamento sobre a subárvore da esquerda de v );
  • “ação por baixo” (entre o caminhamento entre as duas subárvores de v ); e
  • “ação pela direita” (depois do caminhamento sobre a subárvore da direita de v ).

AB – Caminhamento de Euler

Algoritmo printExpression(T, v) se T.isInternal(v) então //ação “pela esquerda” print ( “(“ ); se T.hasLeft(v) então printExpression(T, T.leftChild(v)); print ( v.element() ); //ação “por baixo” se T.hasRight(v) então printExpression(T, T.rightChild(v)); se T.isInternal(v) então print ( “)“ ); //ação “ pela direita

 Interfixado

Expressão Aritmética: ((2  (a - 1)) + (3 / b))

a 1

3 b

Estrutura Encadeada para Árvores Binárias

  • Um nó (BTNode) armazena referências para:
    • Nó pai
    • Elemento
    • Filho da esquerda
    • Filho da direita

 

   

B

A D

C E

B

A D

C E