SlideShare uma empresa Scribd logo
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
~
Raiz
Root
Filhos
Children
Pai
Parent
1 pai
n filhos
n níveis
class Node {
constructor (value) {
this.value = value
this.parent = null
this.children = []
}
}
JavaScript
Estrutura de um Nó
class MultiwayTree {
constructor () {
this.root = null
this.length = 0
}
// methods...
}
JavaScript
Atributos da Árvore
fim
nó pai =
nulo?
início
sim
não
recebe valor e
nó pai (ou nó raiz)
retorna novo nó
define pai do novo nó =
nó pai recebido
Inserindo Nós
cria novo nó com
valor recebido
incrementa o
tamanho da árvore
acrescenta novo nó no
aos filhos do nó pai
define raiz = novo nó
fim
valor de tal
nó = valor?
início
sim não
recebe valor e
nó pai (ou nó raiz)
para a repetição
Removendo Nós
define nó atual = filho na
posição do índice atualdecrementa o
tamanho da árvore
remove dos filhos
do pai o elemento
do índice atual
define índice = 0
índice < nº
de filhos?
incrementa o índicesim
não
fim
início
recebe valor e
nó pai (ou nó raiz)
Buscando Nós
define uma pilha
insere nó pai na pilha
tamanho da
pilha > 0?
define nó atual = elemento
removido do topo da pilha
sim
valor de tal
nó = valor?
tal nó tem
filhos?
retorna nó
removido do topo
da pilha, ou nulo
sim não
insere todos os filhos
do nó atual na pilha
não
não
sim
quando usar?
› Dados hierárquicos
› Flexibilidade não linear
› Manipular páginas Web!
Document
Object Model
Seu navegador traz o exemplo mais
utilizado de Multiway Tree logo ali: é
só dar uma olhada no tal do DOM
import prompt from 'async-prompt'
import MultiwayTree from './MultiwayTree'
let empresa = new MultiwayTree()
let diretoria = empresa.insert('Diretoria')
let rh = empresa.insert('RH', diretoria)
empresa.insert('Recrutamento', rh)
empresa.insert('Capacitação', rh)
empresa.insert('Almoxarifado', diretoria)
let linha = empresa.insert('Linha de Produção')
empresa.insert('Ballet', linha)
empresa.insert('Montagem', linha)
empresa.insert('Inspeção', linha)
empresa.remove('Ballet', linha)
let escolha = await prompt('Qual departamento procura? ')
if (empresa.find(escolha) == null) console.log('Não temos.')
else console.log('Sim, temos isso aí.')
JavaScript
Exemplo de Utilização
Diretoria
RH
Recrutamento
Capacitação
Almoxarifado
Linha de
Produção
Montagem
Inspeção
Exemplo de Utilização
Estruturas de Dados - Árvores Multivias (Multiway Tree)

Mais conteúdo relacionado

Mais procurados

Tcc pronto
Tcc prontoTcc pronto
Tcc pronto
rozilane
 
Plano de Negócios, Pitch e MVP
Plano de Negócios, Pitch e MVPPlano de Negócios, Pitch e MVP
Plano de Negócios, Pitch e MVP
Nei Grando
 
Apresentação metodologia qualitativa
Apresentação metodologia qualitativaApresentação metodologia qualitativa
Apresentação metodologia qualitativa
Fernando Dantas
 
Estrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas EstáticasEstrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas Estáticas
Leinylson Fontinele
 
Vsm
VsmVsm
Operações em Árvores Binárias
Operações em Árvores BináriasOperações em Árvores Binárias
Operações em Árvores Binárias
elliando dias
 
Árvore 2-3
Árvore 2-3Árvore 2-3
Árvore 2-3
Littbarski Santos
 
Aula 2 estudo qualitativo
Aula 2   estudo qualitativoAula 2   estudo qualitativo
Aula 2 estudo qualitativo
Ricardo Alexandre
 
Estrutura de dados - Filas
Estrutura de dados - FilasEstrutura de dados - Filas
Estrutura de dados - Filas
Adriano Teixeira de Souza
 
Desenvolvimento de Modelo de Negócio
Desenvolvimento de Modelo de Negócio Desenvolvimento de Modelo de Negócio
Desenvolvimento de Modelo de Negócio
Rildo (@rildosan) Santos
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Leinylson Fontinele
 
Aula 6 probabilidade condicional
Aula 6   probabilidade condicionalAula 6   probabilidade condicional
Aula 6 probabilidade condicional
Ariel Rennó Chaves
 
Estratégia de Negócios
Estratégia de NegóciosEstratégia de Negócios
Estratégia de Negócios
Wagner Gonsalez
 
Árvores: Conceitos e binárias
Árvores:  Conceitos e bináriasÁrvores:  Conceitos e binárias
Árvores: Conceitos e binárias
Sérgio Souza Costa
 
Empreendedorismo no Brasil
Empreendedorismo no BrasilEmpreendedorismo no Brasil
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
Adriano Teixeira de Souza
 
Estatística
EstatísticaEstatística
Estatística
Rodrigo Costa
 
Apresentação Geral de Indicadores.ppt
Apresentação Geral de Indicadores.pptApresentação Geral de Indicadores.ppt
Apresentação Geral de Indicadores.ppt
Pedro Luis Moraes
 
Exercícios transportes1
Exercícios transportes1Exercícios transportes1
Exercícios transportes1
Luiz Daniel Gonçalves
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
Bruno Catão
 

Mais procurados (20)

Tcc pronto
Tcc prontoTcc pronto
Tcc pronto
 
Plano de Negócios, Pitch e MVP
Plano de Negócios, Pitch e MVPPlano de Negócios, Pitch e MVP
Plano de Negócios, Pitch e MVP
 
Apresentação metodologia qualitativa
Apresentação metodologia qualitativaApresentação metodologia qualitativa
Apresentação metodologia qualitativa
 
Estrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas EstáticasEstrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas Estáticas
 
Vsm
VsmVsm
Vsm
 
Operações em Árvores Binárias
Operações em Árvores BináriasOperações em Árvores Binárias
Operações em Árvores Binárias
 
Árvore 2-3
Árvore 2-3Árvore 2-3
Árvore 2-3
 
Aula 2 estudo qualitativo
Aula 2   estudo qualitativoAula 2   estudo qualitativo
Aula 2 estudo qualitativo
 
Estrutura de dados - Filas
Estrutura de dados - FilasEstrutura de dados - Filas
Estrutura de dados - Filas
 
Desenvolvimento de Modelo de Negócio
Desenvolvimento de Modelo de Negócio Desenvolvimento de Modelo de Negócio
Desenvolvimento de Modelo de Negócio
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
 
Aula 6 probabilidade condicional
Aula 6   probabilidade condicionalAula 6   probabilidade condicional
Aula 6 probabilidade condicional
 
Estratégia de Negócios
Estratégia de NegóciosEstratégia de Negócios
Estratégia de Negócios
 
Árvores: Conceitos e binárias
Árvores:  Conceitos e bináriasÁrvores:  Conceitos e binárias
Árvores: Conceitos e binárias
 
Empreendedorismo no Brasil
Empreendedorismo no BrasilEmpreendedorismo no Brasil
Empreendedorismo no Brasil
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Estatística
EstatísticaEstatística
Estatística
 
Apresentação Geral de Indicadores.ppt
Apresentação Geral de Indicadores.pptApresentação Geral de Indicadores.ppt
Apresentação Geral de Indicadores.ppt
 
Exercícios transportes1
Exercícios transportes1Exercícios transportes1
Exercícios transportes1
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 

Mais de Erick Petrucelli

Vue.js Summit 2018 - Do Server-Side Rendering ao Nuxt
Vue.js Summit 2018 - Do Server-Side Rendering ao NuxtVue.js Summit 2018 - Do Server-Side Rendering ao Nuxt
Vue.js Summit 2018 - Do Server-Side Rendering ao Nuxt
Erick Petrucelli
 
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2
Erick Petrucelli
 
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1
Erick Petrucelli
 
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Erick Petrucelli
 
Estruturas de Dados - Listas Encadeadas (Linked List)
Estruturas de Dados - Listas Encadeadas (Linked List)Estruturas de Dados - Listas Encadeadas (Linked List)
Estruturas de Dados - Listas Encadeadas (Linked List)
Erick Petrucelli
 
Estruturas de Dados - Filas (Queue)
Estruturas de Dados - Filas (Queue)Estruturas de Dados - Filas (Queue)
Estruturas de Dados - Filas (Queue)
Erick Petrucelli
 
Estruturas de Dados - Pilhas (Stack)
Estruturas de Dados - Pilhas (Stack)Estruturas de Dados - Pilhas (Stack)
Estruturas de Dados - Pilhas (Stack)
Erick Petrucelli
 
Primeiros Passos com a Usabilidade
Primeiros Passos com a UsabilidadePrimeiros Passos com a Usabilidade
Primeiros Passos com a Usabilidade
Erick Petrucelli
 
Recepção dos Ingressantes - Fatec Taquaritinga - 1º/2018
Recepção dos Ingressantes - Fatec Taquaritinga - 1º/2018Recepção dos Ingressantes - Fatec Taquaritinga - 1º/2018
Recepção dos Ingressantes - Fatec Taquaritinga - 1º/2018
Erick Petrucelli
 
Apresentação da Fatec Taquaritinga para Escolas
Apresentação da Fatec Taquaritinga para EscolasApresentação da Fatec Taquaritinga para Escolas
Apresentação da Fatec Taquaritinga para Escolas
Erick Petrucelli
 
Desenvolvimento Web com Java Script Full Stack
Desenvolvimento Web com Java Script Full StackDesenvolvimento Web com Java Script Full Stack
Desenvolvimento Web com Java Script Full Stack
Erick Petrucelli
 

Mais de Erick Petrucelli (11)

Vue.js Summit 2018 - Do Server-Side Rendering ao Nuxt
Vue.js Summit 2018 - Do Server-Side Rendering ao NuxtVue.js Summit 2018 - Do Server-Side Rendering ao Nuxt
Vue.js Summit 2018 - Do Server-Side Rendering ao Nuxt
 
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 2
 
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1
Estruturas de Dados - Árvores Binárias (Binary Tree) - Parte 1
 
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
Estruturas de Dados - Tabelas de Espalhamento (Hash Table)
 
Estruturas de Dados - Listas Encadeadas (Linked List)
Estruturas de Dados - Listas Encadeadas (Linked List)Estruturas de Dados - Listas Encadeadas (Linked List)
Estruturas de Dados - Listas Encadeadas (Linked List)
 
Estruturas de Dados - Filas (Queue)
Estruturas de Dados - Filas (Queue)Estruturas de Dados - Filas (Queue)
Estruturas de Dados - Filas (Queue)
 
Estruturas de Dados - Pilhas (Stack)
Estruturas de Dados - Pilhas (Stack)Estruturas de Dados - Pilhas (Stack)
Estruturas de Dados - Pilhas (Stack)
 
Primeiros Passos com a Usabilidade
Primeiros Passos com a UsabilidadePrimeiros Passos com a Usabilidade
Primeiros Passos com a Usabilidade
 
Recepção dos Ingressantes - Fatec Taquaritinga - 1º/2018
Recepção dos Ingressantes - Fatec Taquaritinga - 1º/2018Recepção dos Ingressantes - Fatec Taquaritinga - 1º/2018
Recepção dos Ingressantes - Fatec Taquaritinga - 1º/2018
 
Apresentação da Fatec Taquaritinga para Escolas
Apresentação da Fatec Taquaritinga para EscolasApresentação da Fatec Taquaritinga para Escolas
Apresentação da Fatec Taquaritinga para Escolas
 
Desenvolvimento Web com Java Script Full Stack
Desenvolvimento Web com Java Script Full StackDesenvolvimento Web com Java Script Full Stack
Desenvolvimento Web com Java Script Full Stack
 

Último

epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
MarceloMonteiro213738
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
MessiasMarianoG
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
DECIOMAURINARAMOS
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
joseanesouza36
 
cronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdfcronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdf
todorokillmepls
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
cmeioctaciliabetesch
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
Manuais Formação
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
Mary Alvarenga
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
Mary Alvarenga
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
PatriciaZanoli
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
mamaeieby
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
LuizHenriquedeAlmeid6
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
1000a
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
profesfrancleite
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
lveiga112
 

Último (20)

epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
 
cronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdfcronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdf
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
 
Testes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdfTestes + soluções_Mensagens12 )11111.pdf
Testes + soluções_Mensagens12 )11111.pdf
 

Estruturas de Dados - Árvores Multivias (Multiway Tree)

  • 2. 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
  • 3. Estruturas › Dados organizados em arranjos não lineares › Itens NÃO podem ser percorridos com uma única repetição ~
  • 5. class Node { constructor (value) { this.value = value this.parent = null this.children = [] } } JavaScript Estrutura de um Nó
  • 6. class MultiwayTree { constructor () { this.root = null this.length = 0 } // methods... } JavaScript Atributos da Árvore
  • 7. fim nó pai = nulo? início sim não recebe valor e nó pai (ou nó raiz) retorna novo nó define pai do novo nó = nó pai recebido Inserindo Nós cria novo nó com valor recebido incrementa o tamanho da árvore acrescenta novo nó no aos filhos do nó pai define raiz = novo nó
  • 8. fim valor de tal nó = valor? início sim não recebe valor e nó pai (ou nó raiz) para a repetição Removendo Nós define nó atual = filho na posição do índice atualdecrementa o tamanho da árvore remove dos filhos do pai o elemento do índice atual define índice = 0 índice < nº de filhos? incrementa o índicesim não
  • 9. fim início recebe valor e nó pai (ou nó raiz) Buscando Nós define uma pilha insere nó pai na pilha tamanho da pilha > 0? define nó atual = elemento removido do topo da pilha sim valor de tal nó = valor? tal nó tem filhos? retorna nó removido do topo da pilha, ou nulo sim não insere todos os filhos do nó atual na pilha não não sim
  • 10. quando usar? › Dados hierárquicos › Flexibilidade não linear › Manipular páginas Web! Document Object Model Seu navegador traz o exemplo mais utilizado de Multiway Tree logo ali: é só dar uma olhada no tal do DOM
  • 11. import prompt from 'async-prompt' import MultiwayTree from './MultiwayTree' let empresa = new MultiwayTree() let diretoria = empresa.insert('Diretoria') let rh = empresa.insert('RH', diretoria) empresa.insert('Recrutamento', rh) empresa.insert('Capacitação', rh) empresa.insert('Almoxarifado', diretoria) let linha = empresa.insert('Linha de Produção') empresa.insert('Ballet', linha) empresa.insert('Montagem', linha) empresa.insert('Inspeção', linha) empresa.remove('Ballet', linha) let escolha = await prompt('Qual departamento procura? ') if (empresa.find(escolha) == null) console.log('Não temos.') else console.log('Sim, temos isso aí.') JavaScript Exemplo de Utilização