SlideShare a Scribd company logo
1 of 22
Download to read offline
Ordenação Topológica
Hudson C. Miranda
Julho de 2013

Conceitos necessários

Definição

Aplicações

O algoritmo
Conceitos Necessários
Para entender a ideia da ordenação topológica,
alguns conceitos devem ser explicados antes.
Grafo Dirigido (ou Digrafo)

Um grafo é dirigido se toda aresta do grafo tiver
uma direção definida, ou seja, suas arestas não
são simétricas.

Para cada aresta existirão dois vértices
específicos: o de origem e o de destino.
Grafo Dirigido (ou Digrafo)

Um grafo é dirigido se toda aresta do grafo tiver
uma direção definida, ou seja, suas arestas não
são simétricas.

Para cada aresta existirão dois vértices
específicos: o de origemorigem e o de destino.destino.
Grafo Dirigido Acíclico

Um grafo é aciclico se não existe um caminho
que saia de um vertice e chegue nele mesmo.

Em grafos dirigidos, isso significa que não
existe um caminho de arestas em que um dado
vértice seja a origem e o destino desse
caminho.
Grafo Dirigido Acíclico

Um grafo é aciclico se não existe um caminho
que saia de um vertice e chegue nele mesmo.

Em grafos dirigidos, isso significa que não
existe um caminho de arestas em que um dado
vértice seja a origem e o destino desse
caminho.
DAG
Grafo Dirigido Acíclico

Grafos Dirigidos acíclicos (conhecidos como
DAG, de Direct Acyclic Graph) são estruturas
muito importantes em teoria dos grafos.

Muito utilizada para determinar graficamente
tarefas que exigem precedência de
execução(linhas de produção, disciplinas de um
curso, sprints de trabalhos, etc...).

Mas, dado um DAG, como podemos determinar
a ordem de precedência de todos os vértices do
grafo?
Grafo Dirigido Acíclico

Grafos Dirigidos acíclicos (conhecidos como
DAG, de Direct Acyclic Graph) são estruturas
muito importantes em teoria dos grafos.

Muito utilizada para determinar graficamente
tarefas que exigem precedência de
execução(linhas de produção, disciplinas de um
curso, sprints de trabalhos, etc...).

Mas, dado um DAG, como podemos determinar
a ordem de precedência de todos os vértices do
grafo? R:com a ordenação topológica.ordenação topológica.

Conceitos necessários

DefiniçãoDefinição

Aplicações

O algoritmo
Ordenação Topológica - Definição
Dado um grafo G=(V, E) dirigido e acíclico, e
sabendo que existe uma ordem de precedência
entre seus vértices, podemos dizer que existirá
um conjunto parcialmente ordenado (V, <) tal
que para qualquer v e w de V, v < w se e
somente se existir um caminho de v até w.
Porém, o operador “<” não significa que v seja
menor que w, mas sim que v vem antes de w.
Ordenação Topológica - Definição
Com a informação anterior, é facil ver que haverá
uma sequência de vértices v1, v2, …,vn de G
tal que v1<v2<...<vn. Essa sequência de
vértices será uma ordenação topológicaordenação topológica de G.
Ordenação Topológica - Definição
Existem várias ordenações topológicas dado um
DAG:
Ordenação Topológica - Definição
Existem várias ordenações topológicas dado um
DAG: 
{7, 5, 3, 11, 8, 2, 9, 10} – Esquerda para
direita, cima para baixo.

{3, 5, 7, 8, 11, 2, 9, 10} – Vértice de menor
número disponível primeiro.

{7, 5, 11, 3, 10, 8, 9, 2} – Vertíce de maior
número disponível primeiro.

Entre outras...

Conceitos necessários

Definição

AplicaçãoAplicação

O algoritmo
Aplicações

Organizar ordem de tarefas: Cada vértice
representa uma tarefa a ser executada e as
arestas as dependências de cada tarefa.
Aplicações

Organizar ordem de tarefas: Cada vértice
representa uma tarefa a ser executada e as
arestas as dependências de cada tarefa.

Depêndencia entre disciplinas: Os vértices
representam as disciplinas e as arestas suas
dependências

Conceitos necessários

Definição

Aplicação

O algoritmoO algoritmo
O algoritmo
Existem diversas variações do algoritmo para
encontrar uma ordenação topológica em um
DAG. O mais conhecido é uma variação do
DFS (busca em profundidade) que imprime os
vértices em ordem topológica invertida.
O algoritmo
procedimento Orden-Topo(G: Grafo)
Para Cada vértice v de G:
Marque v como não visitado
Para Cada vértice v de G:
Se v não foi visitado:
Busca-Prof-Orden-Topo(v)
fim
procedimento Busca-Prof-Orden-Topo(v: vértice)
Marque v como visitado
Para Cada vértice w adjacente a v:
Se w não foi visitado:
Busca-Prof-Orden-Topo(w)
Imprimir(v)
fim
O Algoritmo - Complexidade
Tendo em vista que o algoritmo anterior se utiliza
da busca em proundidade de um grafo, sua
complexidade será igual a do DFS(O(n)), já
que a impressão da lista de vértices é O(1)
Obrigado!
Referências:
http://www.professeurs.polymtl.ca/michel.gagnon/Disciplinas/Bac/Grafos/Busca/busca.html#Ord
http://wiki.icmc.usp.br/images/9/93/Alg2_05.Grafos_ordenacaotopologica.pdf
http://www.cos.ufrj.br/~marroquim/grafos/slides/aula_8.pdf
https://www.cs.washington.edu/education/courses/326/03wi/lectures/RaoLect20.pdf
http://www.ime.usp.br/~pf/algoritmos_para_grafos/aulas/toposorting.html
http://paginas.fe.up.pt/~rossetti/rrwiki/lib/exe/fetch.php?media=teaching:1011:cal:05_1.grafos1_b.pdf
http://w3.ualg.pt/~hshah/algoritmos/aula4/aula4.htm
http://www.comp.ita.br/~mamc/folhetos/3.pdf
http://web.sercomtel.com.br/marcusvlc/
http://www.youtube.com/watch?v=AfSk24UTFS8

More Related Content

What's hot

Cálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funçõesCálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funções
Rodolfo Almeida
 

What's hot (20)

Exercícios sobre as aplicações das leis de newton
Exercícios sobre as aplicações das leis de newtonExercícios sobre as aplicações das leis de newton
Exercícios sobre as aplicações das leis de newton
 
Teoria dos Grafos
Teoria dos GrafosTeoria dos Grafos
Teoria dos Grafos
 
Árvores balanceadas - AVL
Árvores balanceadas - AVLÁrvores balanceadas - AVL
Árvores balanceadas - AVL
 
Exercícios Resolvidos: Área entre curvas
Exercícios Resolvidos: Área entre curvasExercícios Resolvidos: Área entre curvas
Exercícios Resolvidos: Área entre curvas
 
EV3#2: Exercícios introdutórios
EV3#2: Exercícios introdutóriosEV3#2: Exercícios introdutórios
EV3#2: Exercícios introdutórios
 
Apostila física
Apostila   físicaApostila   física
Apostila física
 
Relatório 02 ondas em uma mola longa
Relatório 02   ondas em uma mola longaRelatório 02   ondas em uma mola longa
Relatório 02 ondas em uma mola longa
 
Regra da cadeia
Regra da cadeiaRegra da cadeia
Regra da cadeia
 
Fet completo
Fet completoFet completo
Fet completo
 
O corpo humano e o exercício físico adaptações e aplicações
O corpo humano e o exercício físico   adaptações e aplicaçõesO corpo humano e o exercício físico   adaptações e aplicações
O corpo humano e o exercício físico adaptações e aplicações
 
Função logarítmica
Função logarítmicaFunção logarítmica
Função logarítmica
 
comparadores sistemas digitais
comparadores sistemas digitaiscomparadores sistemas digitais
comparadores sistemas digitais
 
Estatística e Probabilidade - 5 Distribuição de Frequências
Estatística e Probabilidade - 5 Distribuição de FrequênciasEstatística e Probabilidade - 5 Distribuição de Frequências
Estatística e Probabilidade - 5 Distribuição de Frequências
 
EV3#4: Exercicios com o sensor de toque
EV3#4: Exercicios com o sensor de toqueEV3#4: Exercicios com o sensor de toque
EV3#4: Exercicios com o sensor de toque
 
07 diagrama de classes de análise
07  diagrama de classes de análise07  diagrama de classes de análise
07 diagrama de classes de análise
 
Plano de aula Cinemática
Plano de aula CinemáticaPlano de aula Cinemática
Plano de aula Cinemática
 
Cálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funçõesCálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funções
 
FOGUETE DE GARRAFA PET
FOGUETE DE GARRAFA PETFOGUETE DE GARRAFA PET
FOGUETE DE GARRAFA PET
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
portas logicas
portas logicasportas logicas
portas logicas
 

Similar to Topological Sorting (Portuguese)

Computação Gráfica - Transformações Geométricas no Plano e no Espaço
Computação Gráfica - Transformações Geométricas no Plano e no EspaçoComputação Gráfica - Transformações Geométricas no Plano e no Espaço
Computação Gráfica - Transformações Geométricas no Plano e no Espaço
Tony Alexander Hild
 
Teoria de Grafos.ppt.pptx para estudar MACS
Teoria de Grafos.ppt.pptx para estudar MACSTeoria de Grafos.ppt.pptx para estudar MACS
Teoria de Grafos.ppt.pptx para estudar MACS
sandra soares
 
Tutorial aed iii 008 - algoritmo de ordenação heapsort
Tutorial aed iii   008 - algoritmo de ordenação heapsortTutorial aed iii   008 - algoritmo de ordenação heapsort
Tutorial aed iii 008 - algoritmo de ordenação heapsort
Flávio Freitas
 

Similar to Topological Sorting (Portuguese) (16)

Seminário sobre Grafos por Samyra Lara
Seminário sobre Grafos por Samyra LaraSeminário sobre Grafos por Samyra Lara
Seminário sobre Grafos por Samyra Lara
 
Busca em largura (breadth first search)
Busca em largura (breadth first search)Busca em largura (breadth first search)
Busca em largura (breadth first search)
 
App
AppApp
App
 
Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...
Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...
Treinamento Para competições de Programação do INF-UFG - Grafos Parte 1 - Tur...
 
Computação Gráfica - Transformações Geométricas no Plano e no Espaço
Computação Gráfica - Transformações Geométricas no Plano e no EspaçoComputação Gráfica - Transformações Geométricas no Plano e no Espaço
Computação Gráfica - Transformações Geométricas no Plano e no Espaço
 
Apresentação ia
Apresentação iaApresentação ia
Apresentação ia
 
Grafos
GrafosGrafos
Grafos
 
Projeções - JAI 1998
Projeções - JAI 1998Projeções - JAI 1998
Projeções - JAI 1998
 
Trabalho2
Trabalho2Trabalho2
Trabalho2
 
Análise de Algoritmos - Conceitos de Grafos
Análise de Algoritmos - Conceitos de GrafosAnálise de Algoritmos - Conceitos de Grafos
Análise de Algoritmos - Conceitos de Grafos
 
document
documentdocument
document
 
QGIS - inicio (Sistemas de Informação Geográfica SIG)
QGIS - inicio (Sistemas de Informação Geográfica SIG)QGIS - inicio (Sistemas de Informação Geográfica SIG)
QGIS - inicio (Sistemas de Informação Geográfica SIG)
 
Teoria de Grafos.ppt.pptx para estudar MACS
Teoria de Grafos.ppt.pptx para estudar MACSTeoria de Grafos.ppt.pptx para estudar MACS
Teoria de Grafos.ppt.pptx para estudar MACS
 
AULA_01_GEO_INTROD.pptx
AULA_01_GEO_INTROD.pptxAULA_01_GEO_INTROD.pptx
AULA_01_GEO_INTROD.pptx
 
Tutorial aed iii 008 - algoritmo de ordenação heapsort
Tutorial aed iii   008 - algoritmo de ordenação heapsortTutorial aed iii   008 - algoritmo de ordenação heapsort
Tutorial aed iii 008 - algoritmo de ordenação heapsort
 
slidesWtisc(1).pptx
slidesWtisc(1).pptxslidesWtisc(1).pptx
slidesWtisc(1).pptx
 

Recently uploaded

ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
azulassessoria9
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 

Recently uploaded (20)

ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 

Topological Sorting (Portuguese)