Estruturas de Dados
´
´
EstruturasdeDados
Estruturas Lineares
Pilha
Stack
Fila
Queue
Lista
List
Vetor e Matriz
Array
Estruturas Não-Lineares
Tabela de Espalhamento
Hash Table
Árvore
Tree
as estruturas de dados
Estruturas
› Dados organizados em
arranjos não lineares
› Itens NÃO podem ser percorridos
com uma única repetição
~
Nó Raiz
Root Node
Nó Esquerdo
Left Node
Nó Direito
Right Node
class Node {
constructor (value) {
this.value = value
this.left = null
this.right = null
}
}
JavaScript
Estrutura de um Nó
class BinaryTree {
constructor () {
this.root = null
this.length = 0
}
// methods...
}
JavaScript
Atributos da Árvore
inserindonós
root
null
inserindonós
root
null
insert (6)
inserindonós
rootinsert (6)
6
null null
inserindonós
rootinsert (6)
6
null null
insert (8)
inserindonós
root
6
8
insert (6)
insert (8)
null
null
null
inserindonós
root
6
8
insert (6)
insert (8)
null
null
null
insert (2)
inserindonós
root
2
6
8
insert (6)
insert (8)
insert (2)
nullnullnullnull
inserindonós
root
2
6
8
insert (6)
insert (8)
insert (2)
nullnullnullnull
insert (1)
inserindonós
root
2
1
6
8
insert (6)
insert (8)
insert (2)
insert (1)
nullnullnull
inserindonós
root
2
1
6
8
insert (6)
insert (8)
insert (2)
insert (1)
nullnullnull
insert (4)
inserindonós
root
2
1
6
8
insert (6)
insert (8)
insert (2)
insert (1)
nullnull
insert (4)
4
inserindonós
root
2
41
6
8
insert (6)
insert (8)
insert (2)
insert (1)
insert (4)
insert (7)
nullnull
inserindonós
root
2
41
6
8
7
insert (6)
insert (8)
insert (2)
insert (1)
insert (4)
insert (7)
null
inserindonós
root
2
41
6
8
7
null
Inserindo Nós
nó pai
nulo?
nó raiz
nulo?
nó raiz = novo nó
criar novo nó
fim
incrementa tamanho
da árvore
valor >
valor do
nó pai?
nó pai = nó raiz
sim
não
início
não
sim
direita
do nó pai
nula?
direita do nó pai =
novo nó
esquerda
do nó pai
nula?
esquerda do nó pai =
novo nó
sim
não
recursão passando valor
e direita do nó pai
recursão passando valor
e esquerda do nó pai
sim sim
não não
import Treeify from 'treeify'
import BinaryTree from './data-structures/BinaryTree'
let arvore = new BinaryTree()
arvore.insert(6)
arvore.insert(8)
arvore.insert(2)
arvore.insert(1)
arvore.insert(4)
arvore.insert(7)
console.log(Treeify.asTree(arvore, true))
JavaScript
Exemplo de Utilização
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1

Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1