SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Complexidade do
Algoritmo
Caminho Mínimo de Floyd - Warshall
Componentes
● Lucas Vinícius
● Luiz Ricardo
● Pedro Santos
Roteiro da apresentação
● Explicação do algoritmo
● Pseudocódigo
● Exemplo de execução
● Dedução da complexidade
O que o algoritmo faz?
● Encontra o menor caminho (os valores de tais caminhos e não as arestas
a serem percorridas) entre os pares de vértices de um dígrafo ponderado.
Explicação do algoritmo
● O algoritmo preenche um matriz bidimensional,
caminho[][], onde caminho[i][j] é o tamanho do menor
caminho entre os nodos i e j:
○ Assume-se que a matriz está inicialmente preenchida com o
valor de cada aresta ou infinito (caso não haja uma aresta
entre dois vértices).
Explicação do algoritmo
● Fixa-se um vértice k do grafo; para cada par (i,j) de
vértices, é verificado se o menor caminho j conhecido
entre (i, j) supera a soma do tamanho do caminho de i
para k com o de k para j. Caso supere, o tamanho do
menor caminho passa a ser essa soma.
Pseudocódigo
FUNC FLOYD_WARSHALL (CAMINHO[][])
FOR K = 1 TO N
FOR I = 1 TO N
FOR J = 1 TO N
CAMINHO[I][J] = MIN(CAMINHO[I][J], CAMINHO[I][K]+CAMINHO[K][J])
Exemplo de execução
● Considere o seguinte grafo:
Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
Exemplo de execução
● Considere o seguinte grafo:
Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
Exemplo de execução
● Considere o seguinte grafo:
Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
Exemplo de execução
● Considere o seguinte grafo:
Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
Exemplo de execução
● Considere o seguinte grafo:
Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
Dedução de complexidade
● Cada laço for pode ser convertido em um somatório com o mesmo
valor inicial e final. Considerando a decisão do valor mínimo entre
dois números (min(a, b)) como operação elementar e as
atribuições e acessos a matrizes como tempo constante, a
complexidade do algoritmo de Floyd-Warshall é dada por:
Dedução de complexidade
● Pode-se converter o somatório da variável j em n, pois o resultado deste é
a soma n vezes do valor 1, e isolar este termo, que não depende da
variável j, resultando no seguinte somatório:
● Ao repetir a dedução usada anteriormente com os somatórios das
variáveis i e k, encontra-se o seguinte resultado:
Dedução de complexidade
● Com a dedução anterior é perceptível que o algoritmo de
Floyd-Warshall possui complexidade O(n³), onde n é o número de
vértices do grafo fornecido.
Referências
● http://pt.slideshare.net/johnnatan20/caminhos-mnimos-fl
oyd?next_slideshow=1
● http://www.inf.ufrgs.br/~cgdaudt/inf05515/art1.pdf

Mais conteúdo relacionado

Mais procurados

Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosUlrich Schiel
 
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 GrafosDelacyr Ferreira
 
Introdução à Teoria dos Grafos
Introdução à Teoria dos GrafosIntrodução à Teoria dos Grafos
Introdução à Teoria dos GrafosBianca Dantas
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Análise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasAnálise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasDelacyr Ferreira
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosFrederico Madeira
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosRafael Pinto
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidosHAROLDO MIRANDA DA COSTA JR
 
Análise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuanteAnálise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuanteFelipe Belarmino
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Árvores Espalhadas Mínimas
Árvores Espalhadas MínimasÁrvores Espalhadas Mínimas
Árvores Espalhadas MínimasDiego Cavalca
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoRonildo Oliveira
 
Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Thayse
 
Banco de dados atividade de sala
Banco de dados atividade de salaBanco de dados atividade de sala
Banco de dados atividade de salaCarlos Melo
 

Mais procurados (20)

Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Apostila matemática discreta
Apostila matemática discretaApostila matemática discreta
Apostila matemática discreta
 
Heaps Binomiais
Heaps BinomiaisHeaps Binomiais
Heaps Binomiais
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
 
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
 
Introdução à Teoria dos Grafos
Introdução à Teoria dos GrafosIntrodução à Teoria dos Grafos
Introdução à Teoria dos Grafos
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Análise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasAnálise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de Recorrências
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em Grafos
 
57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos57701066 matematica-discreta-exercicios-resolvidos
57701066 matematica-discreta-exercicios-resolvidos
 
Análise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuanteAnálise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuante
 
Aula Grafos
Aula GrafosAula Grafos
Aula Grafos
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Árvores Espalhadas Mínimas
Árvores Espalhadas MínimasÁrvores Espalhadas Mínimas
Árvores Espalhadas Mínimas
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
 
Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0
 
Banco de dados atividade de sala
Banco de dados atividade de salaBanco de dados atividade de sala
Banco de dados atividade de sala
 
Sistemas digitais 1
Sistemas digitais 1Sistemas digitais 1
Sistemas digitais 1
 

Semelhante a Complexidade do Algoritmo: Caminho mínimo Floyd Warshall

Aulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosAulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosKevin Takano
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmosRicardo Bolanho
 
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...Murilo Adriano Vasconcelos
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfItaloRainier1
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao OctavePeslPinguim
 
Lista de exercício
Lista de exercício   Lista de exercício
Lista de exercício Jota Thin
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dadosgjpbg
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2Leandro Lopes
 
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdfCapitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdfEliakimArajo2
 
A robustez de circuitos sequenciais
A robustez de circuitos sequenciaisA robustez de circuitos sequenciais
A robustez de circuitos sequenciaisLucas Vinícius
 
Kmeans
KmeansKmeans
KmeansWagner
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdfYuri Passos
 
Redes neurais com matlab
Redes neurais com matlabRedes neurais com matlab
Redes neurais com matlabRenato Vicente
 

Semelhante a Complexidade do Algoritmo: Caminho mínimo Floyd Warshall (20)

Floyd-Warshall
Floyd-WarshallFloyd-Warshall
Floyd-Warshall
 
Aulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosAulas 11-guloso Algoritmos
Aulas 11-guloso Algoritmos
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdf
 
26-aula26.pdf
26-aula26.pdf26-aula26.pdf
26-aula26.pdf
 
Introdução ao Octave
Introdução ao OctaveIntrodução ao Octave
Introdução ao Octave
 
Lista de exercício
Lista de exercício   Lista de exercício
Lista de exercício
 
euclides primos
euclides primoseuclides primos
euclides primos
 
Fluxo a Custo Mínimo
Fluxo a Custo MínimoFluxo a Custo Mínimo
Fluxo a Custo Mínimo
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila estrutura de dados 2
Apostila estrutura de dados 2Apostila estrutura de dados 2
Apostila estrutura de dados 2
 
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdfCapitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
 
A robustez de circuitos sequenciais
A robustez de circuitos sequenciaisA robustez de circuitos sequenciais
A robustez de circuitos sequenciais
 
Camada rede
Camada redeCamada rede
Camada rede
 
Kmeans
KmeansKmeans
Kmeans
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf
 
Criptografia RSA
Criptografia RSACriptografia RSA
Criptografia RSA
 
Grafos
GrafosGrafos
Grafos
 
Redes neurais com matlab
Redes neurais com matlabRedes neurais com matlab
Redes neurais com matlab
 

Mais de Lucas Vinícius

A Evolução das Distribuições de SistemaOperacional Linux Patrocinados pela Em...
A Evolução das Distribuições de SistemaOperacional Linux Patrocinados pela Em...A Evolução das Distribuições de SistemaOperacional Linux Patrocinados pela Em...
A Evolução das Distribuições de SistemaOperacional Linux Patrocinados pela Em...Lucas Vinícius
 
Como utilizar windows management instrumentation com a linguagem vb script
Como utilizar windows management instrumentation com a linguagem vb scriptComo utilizar windows management instrumentation com a linguagem vb script
Como utilizar windows management instrumentation com a linguagem vb scriptLucas Vinícius
 
Probabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis AleatóriasProbabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis AleatóriasLucas Vinícius
 
Definição de marketing e suas implicações
Definição de marketing e suas implicaçõesDefinição de marketing e suas implicações
Definição de marketing e suas implicaçõesLucas Vinícius
 
Teorias da aprendizagem de Piaget: equilibração e fases de aprendizagem
Teorias da aprendizagem de Piaget: equilibração e fases de aprendizagemTeorias da aprendizagem de Piaget: equilibração e fases de aprendizagem
Teorias da aprendizagem de Piaget: equilibração e fases de aprendizagemLucas Vinícius
 
Gerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMGerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMLucas Vinícius
 
Ruído em higiene e segurança no trabalho
Ruído em  higiene e segurança no trabalhoRuído em  higiene e segurança no trabalho
Ruído em higiene e segurança no trabalhoLucas Vinícius
 
Rethinking main memory oltp recovery
Rethinking main memory oltp recoveryRethinking main memory oltp recovery
Rethinking main memory oltp recoveryLucas Vinícius
 
Gerenciamento de processos Linux
Gerenciamento de processos LinuxGerenciamento de processos Linux
Gerenciamento de processos LinuxLucas Vinícius
 
Problemas clássicos de comunicação interprocessos
Problemas clássicos de comunicação interprocessosProblemas clássicos de comunicação interprocessos
Problemas clássicos de comunicação interprocessosLucas Vinícius
 
Prevenção, proteção e combate ao incêndio de classe A
Prevenção, proteção e combate ao incêndio de classe APrevenção, proteção e combate ao incêndio de classe A
Prevenção, proteção e combate ao incêndio de classe ALucas Vinícius
 
Fases do desenvolvimento de acordo com a Teoria de Freud
Fases do desenvolvimento  de acordo com a Teoria de FreudFases do desenvolvimento  de acordo com a Teoria de Freud
Fases do desenvolvimento de acordo com a Teoria de FreudLucas Vinícius
 
Telefone sem fio - um problema de má comunicação
Telefone sem fio - um problema de má comunicaçãoTelefone sem fio - um problema de má comunicação
Telefone sem fio - um problema de má comunicaçãoLucas Vinícius
 
Pesquisas envolvendo seres humanos
Pesquisas envolvendo seres humanosPesquisas envolvendo seres humanos
Pesquisas envolvendo seres humanosLucas Vinícius
 
Introdução a Simulação de redes Sensores sem fio com Castalia
Introdução a Simulação de redes Sensores sem fio com CastaliaIntrodução a Simulação de redes Sensores sem fio com Castalia
Introdução a Simulação de redes Sensores sem fio com CastaliaLucas Vinícius
 

Mais de Lucas Vinícius (16)

A Evolução das Distribuições de SistemaOperacional Linux Patrocinados pela Em...
A Evolução das Distribuições de SistemaOperacional Linux Patrocinados pela Em...A Evolução das Distribuições de SistemaOperacional Linux Patrocinados pela Em...
A Evolução das Distribuições de SistemaOperacional Linux Patrocinados pela Em...
 
Como utilizar windows management instrumentation com a linguagem vb script
Como utilizar windows management instrumentation com a linguagem vb scriptComo utilizar windows management instrumentation com a linguagem vb script
Como utilizar windows management instrumentation com a linguagem vb script
 
Probabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis AleatóriasProbabilidade e estatística - Variáveis Aleatórias
Probabilidade e estatística - Variáveis Aleatórias
 
Definição de marketing e suas implicações
Definição de marketing e suas implicaçõesDefinição de marketing e suas implicações
Definição de marketing e suas implicações
 
Teorias da aprendizagem de Piaget: equilibração e fases de aprendizagem
Teorias da aprendizagem de Piaget: equilibração e fases de aprendizagemTeorias da aprendizagem de Piaget: equilibração e fases de aprendizagem
Teorias da aprendizagem de Piaget: equilibração e fases de aprendizagem
 
Behaviorismo de Skinner
Behaviorismo de SkinnerBehaviorismo de Skinner
Behaviorismo de Skinner
 
Gerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUMGerenciamento ágil de processos - SCRUM
Gerenciamento ágil de processos - SCRUM
 
Ruído em higiene e segurança no trabalho
Ruído em  higiene e segurança no trabalhoRuído em  higiene e segurança no trabalho
Ruído em higiene e segurança no trabalho
 
Rethinking main memory oltp recovery
Rethinking main memory oltp recoveryRethinking main memory oltp recovery
Rethinking main memory oltp recovery
 
Gerenciamento de processos Linux
Gerenciamento de processos LinuxGerenciamento de processos Linux
Gerenciamento de processos Linux
 
Problemas clássicos de comunicação interprocessos
Problemas clássicos de comunicação interprocessosProblemas clássicos de comunicação interprocessos
Problemas clássicos de comunicação interprocessos
 
Prevenção, proteção e combate ao incêndio de classe A
Prevenção, proteção e combate ao incêndio de classe APrevenção, proteção e combate ao incêndio de classe A
Prevenção, proteção e combate ao incêndio de classe A
 
Fases do desenvolvimento de acordo com a Teoria de Freud
Fases do desenvolvimento  de acordo com a Teoria de FreudFases do desenvolvimento  de acordo com a Teoria de Freud
Fases do desenvolvimento de acordo com a Teoria de Freud
 
Telefone sem fio - um problema de má comunicação
Telefone sem fio - um problema de má comunicaçãoTelefone sem fio - um problema de má comunicação
Telefone sem fio - um problema de má comunicação
 
Pesquisas envolvendo seres humanos
Pesquisas envolvendo seres humanosPesquisas envolvendo seres humanos
Pesquisas envolvendo seres humanos
 
Introdução a Simulação de redes Sensores sem fio com Castalia
Introdução a Simulação de redes Sensores sem fio com CastaliaIntrodução a Simulação de redes Sensores sem fio com Castalia
Introdução a Simulação de redes Sensores sem fio com Castalia
 

Complexidade do Algoritmo: Caminho mínimo Floyd Warshall

  • 2. Componentes ● Lucas Vinícius ● Luiz Ricardo ● Pedro Santos
  • 3. Roteiro da apresentação ● Explicação do algoritmo ● Pseudocódigo ● Exemplo de execução ● Dedução da complexidade
  • 4. O que o algoritmo faz? ● Encontra o menor caminho (os valores de tais caminhos e não as arestas a serem percorridas) entre os pares de vértices de um dígrafo ponderado.
  • 5. Explicação do algoritmo ● O algoritmo preenche um matriz bidimensional, caminho[][], onde caminho[i][j] é o tamanho do menor caminho entre os nodos i e j: ○ Assume-se que a matriz está inicialmente preenchida com o valor de cada aresta ou infinito (caso não haja uma aresta entre dois vértices).
  • 6. Explicação do algoritmo ● Fixa-se um vértice k do grafo; para cada par (i,j) de vértices, é verificado se o menor caminho j conhecido entre (i, j) supera a soma do tamanho do caminho de i para k com o de k para j. Caso supere, o tamanho do menor caminho passa a ser essa soma.
  • 7. Pseudocódigo FUNC FLOYD_WARSHALL (CAMINHO[][]) FOR K = 1 TO N FOR I = 1 TO N FOR J = 1 TO N CAMINHO[I][J] = MIN(CAMINHO[I][J], CAMINHO[I][K]+CAMINHO[K][J])
  • 8. Exemplo de execução ● Considere o seguinte grafo: Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
  • 9. Exemplo de execução ● Considere o seguinte grafo: Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
  • 10. Exemplo de execução ● Considere o seguinte grafo: Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
  • 11. Exemplo de execução ● Considere o seguinte grafo: Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
  • 12. Exemplo de execução ● Considere o seguinte grafo: Nota: D(0) é a matriz de entrada, D(1) … D(N) são as matrizes após a iteração com cada vértice.
  • 13. Dedução de complexidade ● Cada laço for pode ser convertido em um somatório com o mesmo valor inicial e final. Considerando a decisão do valor mínimo entre dois números (min(a, b)) como operação elementar e as atribuições e acessos a matrizes como tempo constante, a complexidade do algoritmo de Floyd-Warshall é dada por:
  • 14. Dedução de complexidade ● Pode-se converter o somatório da variável j em n, pois o resultado deste é a soma n vezes do valor 1, e isolar este termo, que não depende da variável j, resultando no seguinte somatório: ● Ao repetir a dedução usada anteriormente com os somatórios das variáveis i e k, encontra-se o seguinte resultado:
  • 15. Dedução de complexidade ● Com a dedução anterior é perceptível que o algoritmo de Floyd-Warshall possui complexidade O(n³), onde n é o número de vértices do grafo fornecido.