Enviar pesquisa
Carregar
Capítulo 8 - Algoritmos em grafos com Pseudocódigos e em Java
•
Transferir como PPTX, PDF
•
0 gostou
•
3 visualizações
P
profjotamarcosduarte
Seguir
Algoritmos em grafos
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 27
Baixar agora
Recomendados
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
profjotamarcosduarte
Capítulo 7 - Estruturas de dados do tipo árvore
Capítulo 7 - Estruturas de dados do tipo árvore
profjotamarcosduarte
Capítulo 5 - Estrutura de dados do tipo lista de prioridades
Capítulo 5 - Estrutura de dados do tipo lista de prioridades
profjotamarcosduarte
Capítulo 3 - Estruturas de dados do tipo listas
Capítulo 3 - Estruturas de dados do tipo listas
profjotamarcosduarte
Capítulo 6 - Estrutura de dados do tipo tabela hashing
Capítulo 6 - Estrutura de dados do tipo tabela hashing
profjotamarcosduarte
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
Recomendados
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
profjotamarcosduarte
Capítulo 7 - Estruturas de dados do tipo árvore
Capítulo 7 - Estruturas de dados do tipo árvore
profjotamarcosduarte
Capítulo 5 - Estrutura de dados do tipo lista de prioridades
Capítulo 5 - Estrutura de dados do tipo lista de prioridades
profjotamarcosduarte
Capítulo 3 - Estruturas de dados do tipo listas
Capítulo 3 - Estruturas de dados do tipo listas
profjotamarcosduarte
Capítulo 6 - Estrutura de dados do tipo tabela hashing
Capítulo 6 - Estrutura de dados do tipo tabela hashing
profjotamarcosduarte
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
ChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
Mais conteúdo relacionado
Destaque
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
ChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
Destaque
(20)
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
Skeleton Culture Code
Skeleton Culture Code
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
ChatGPT webinar slides
ChatGPT webinar slides
Capítulo 8 - Algoritmos em grafos com Pseudocódigos e em Java
1.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 © 2011 Pearson. Todos os direitos reservados. slide 1 Capítulo 8 – Algoritmos em grafos © 2011 Pearson. Todos os direitos reservados. slide 1
2.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 2 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 2 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 2 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 2 © 2011 Pearson. Todos os direitos reservados. slide 2 Conexão entre elementos é um problema comum em computação. Situações que podem ser representadas pela teoria dos grafos: a malha de estradas que ligam cidades; o conjunto de links de um website; os circuitos da placa-mãe de um computador; os cômodos de uma casa e as portas que os interligam; e a distribuição entre disciplinas e professores de uma escola.
3.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 3 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 3 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 3 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 3 © 2011 Pearson. Todos os direitos reservados. slide 3 Conceitos de grafos Um grafo G é formado pelo par de conjuntos V e E, sendo V o conjunto de vértices de G, e E o conjunto de arestas de G. Uma aresta e ∈ E(G) é representada por e = (u, v), e sempre interliga dois vértices quaisquer u e v de V. Dois vértices ligados por uma aresta são denominados adjacentes. Notações utilizadas para denotar um grafo: G = (V, E) ou G = (V(G), E(G)) ou G(V, E).
4.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 4 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 4 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 4 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 4 © 2011 Pearson. Todos os direitos reservados. slide 4 A representação geométrica dos grafos é feita marcando pontos no plano para os vértices, e uma linha ligando dois pontos para a aresta. Quando os vértices são nomeados por letras, deve ser feito um mapeamento de cada nome para um número correspondente i, sendo 1 ≤ i ≤ n, n ∈ N. Exemplos de grafos
5.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 5 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 5 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 5 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 5 © 2011 Pearson. Todos os direitos reservados. slide 5 Laços, arestas múltiplas e multigrafo Quando um grafo tem arestas do tipo e = (u, u), a aresta é chamada laço. Se há mais de uma aresta entre o mesmo par de vértices, são arestas paralelas ou arestas múltiplas. Um grafo com arestas paralelas é denominado multigrafo. (a) Grafo com laços; (b) Grafo com arestas múltiplas (multigrafo)
6.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 6 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 6 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 6 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 6 © 2011 Pearson. Todos os direitos reservados. slide 6 Grafo trivial e grafo simples Um grafo com apenas um vértice é chamado trivial. Se não possuir laço ou aresta múltipla, é chamado simples. Grafo completo Um grafo G é chamado completo quando existe uma aresta para cada par de vértices distintos de G. Grafos completos
7.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 7 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 7 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 7 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 7 © 2011 Pearson. Todos os direitos reservados. slide 7 Grafo regular Em um grafo G(V, E), o grau de um vértice v ∈ V, denotado por g(v), é o número de arestas que incidem. Se todos os vértices de um grafo G têm mesmo grau, é chamado grafo regular de grau r. Subgrafo Um grafo G(V, E), H(V’,E’) é um subgrafo de G se V’ ⊆ V e E’ ⊆ E. (a) Grafo G; (b) e (c) Subgrafos de G
8.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 8 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 8 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 8 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 8 © 2011 Pearson. Todos os direitos reservados. slide 8 Grafo bipartido Um grafo G(V,E) é bipartido quando seu conjunto de vértices V pode ser particionado em dois subconjuntos V1 e V2, tal que toda aresta de G faz a ligação de um vértice de V1 a um vértice de V2. (a) Grafo bipartido; (b) Grafo bipartido completo
9.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 9 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 9 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 9 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 9 © 2011 Pearson. Todos os direitos reservados. slide 9 Caminho simples, trajeto e ciclos Uma sequência de vértices v1, v2, ..., vj, tal que (vi ,vi+1) ϵ E(G), 1 ≤ i ≤ |j−1|, é chamada caminho de v1 a vj. O número de arestas do caminho é o comprimento. Se todos os vértices são distintos, é um caminho simples ou elementar. Se as arestas forem distintas, é um trajeto. Um ciclo é um caminho v1,v2,…,vj,vj+1, sendo v1 = vj+1 e k ≥ 3. Um grafo sem ciclos é chamado acíclico.
10.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 10 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 10 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 10 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 10 © 2011 Pearson. Todos os direitos reservados. slide 10 Grafo conexo e desconexo Um grafo G é conexo se existe um caminho para cada par de vértices de G. Caso contrário, é desconexo. O grafo desconexo tem partes conexas, as componentes. Um grafo conexo possui uma única componente conexa enquanto um desconexo possui várias componentes conexas. (a) Grafo conexo; (b) Grafo desconexo
11.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 11 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 11 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 11 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 11 © 2011 Pearson. Todos os direitos reservados. slide 11 Grafos isomorfos Dois grafos G1(V1, E1) e G2(V2, E2), com |V1|=|V2|= n, são isomorfos entre si quando existe uma função unívoca f: V1 → V2, tal que (u,v) ∈ E1 sse (f(u), f(v)) ∈ E2, para todo u, v ∈ E1 (Szwarcfiter et al., 1986).
12.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 12 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 12 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 12 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 12 © 2011 Pearson. Todos os direitos reservados. slide 12 Grafo ponderado Um grafo ponderado tem peso nas arestas. Esses pesos podem representar custos ou distâncias, por exemplo.
13.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 13 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 13 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 13 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 13 © 2011 Pearson. Todos os direitos reservados. slide 13 Dígrafo Um grafo direcionado D(V,E), ou dígrafo, possui um conjunto não vazio de vértices V e um conjunto de arestas E, tal que para toda aresta (u,v) ∈ E existe uma única direção de u para v.
14.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 14 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 14 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 14 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 14 © 2011 Pearson. Todos os direitos reservados. slide 14 Seja D(V,E) um dígrafo e um vértice v ∈ V. O grau de entrada de v é o número de arestas que incidem em v. O grau de saída é o número de arestas que partem de v. Um vértice com grau de entrada nulo é chamado fonte e um vértice com grau de saída zero é chamado sumidouro.
15.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 15 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 15 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 15 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 15 © 2011 Pearson. Todos os direitos reservados. slide 15 Árvores Um grafo T(V,E) que não possui ciclos e é conexo é chamado árvore. Características: •Seja v ∈ V, se o grau de v for menor ou igual a 1, v é uma folha. Se for maior que 1, v é um vértice interno. •Uma árvore T com n vértices possui n −1 arestas. •Um grafo G é uma árvore somente se existir um único caminho entre cada par de vértices de G. •Um conjunto de árvores é chamado floresta.
16.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 16 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 16 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 16 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 16 © 2011 Pearson. Todos os direitos reservados. slide 16 Árvores com seis vértices
17.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 17 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 17 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 17 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 17 © 2011 Pearson. Todos os direitos reservados. slide 17 Dado um grafo G(V(G), E(G)), denomina-se subgrafo gerador o grafo H(V(H), E(H)) que é subgrafo de G, tal que V(G) = V(H). Se o subgrafo H for uma árvore, então é chamado árvore geradora. (a) Grafo G; (b) Subgrafo gerador; (c) Árvore geradora
18.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 18 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 18 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 18 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 18 © 2011 Pearson. Todos os direitos reservados. slide 18 Representação de grafos Um grafo G(V,E) com |V|= n pode ser representado adequadamente por meio de matrizes ou listas. Matriz de adjacências Dado um grafo G(V,E), uma matriz de adjacências M é formada por n linhas e n colunas, sendo n o número de vértices do grafo. Preenche-se como:
19.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 19 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 19 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 19 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 19 © 2011 Pearson. Todos os direitos reservados. slide 19 Matriz de adjacências para um grafo não direcionado A matriz de adjacências é simétrica para grafos não direcionados.
20.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 20 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 20 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 20 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 20 © 2011 Pearson. Todos os direitos reservados. slide 20 Matriz de incidências Segundo Rabuske (1992), dado um grafo G(V,E) de n vértices e m arestas, a matriz de incidência de G, denotada por Mnxm, é definida por: Em grafo orientado, a matriz é definida como:
21.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 21 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 21 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 21 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 21 © 2011 Pearson. Todos os direitos reservados. slide 21 Lista de adjacências Consiste em um vetor Adj com n =|V| entradas, uma para cada vértice do grafo. Cada entrada Adj[v] possui uma lista encadeada de vértices adjacentes a v em G. Não existe uma ordem dos vértices nessa lista. Compõe-se de n listas de 2m elementos, onde m é o número de arestas. O espaço utilizado é O(n + m).
22.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 22 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 22 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 22 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 22 © 2011 Pearson. Todos os direitos reservados. slide 22 Algoritmos de busca Algoritmo de busca em profundidade Atende ao critério de escolher o vértice mais recentemente alcançado dentre os vários marcados e incidentes a uma aresta ainda não explorada. Análise da busca em profundidade Procura acessar todos os vértices em um grafo G = (V, E), onde |V|= n e |E|= m. Para acessar os possíveis vértices, varre a lista de arestas de cada vértice do grafo e com isso gasta tempo O(n + m).
23.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 23 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 23 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 23 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 23 © 2011 Pearson. Todos os direitos reservados. slide 23 Algoritmo de busca em largura Escolhe o vértice alcançado por último dentre os vários marcados e incidentes a uma aresta não explorada. Tem esse nome por descobrir todos os vértices a uma distância k de s, antes de descobrir os que estão à distância k+1.
24.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 24 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 24 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 24 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 24 © 2011 Pearson. Todos os direitos reservados. slide 24 Análise da busca de profundidade Primeiro, o algoritmo inicializa todos os vértices em tempo O(V). Quando vão sendo descobertos, são colocados em uma fila. Inserção e remoção na fila gastam tempo constante, O(1). Todos os vértices são enfileirados e retirados e o tempo total gasto é O(V). Todas as listas de todos os vértices são analisadas, em tempo proporcional a O(E). Portanto, o tempo de execução da busca em largura é O(V + E).
25.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 25 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 25 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 25 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 25 © 2011 Pearson. Todos os direitos reservados. slide 25 Algoritmo do caminho mínimo Determinar o mais curto (com menor peso) em um dígrafo com pesos nas arestas a partir de um vértice de origem informado, sendo os pesos das arestas maiores ou iguais a zero. Algoritmo de Dijkstra: mantém um conjunto C com vértices cujo valor do caminho mínimo em relação ao de origem v já foi determinado. Cada vértice possui uma distância em relação à origem, armazenada em um vetor dist, com tamanho n=|V|.
26.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 26 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 26 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 26 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 26 © 2011 Pearson. Todos os direitos reservados. slide 26 O algoritmo trabalha para escolher um vértice i da lista de prioridades mínima lista = V − C, tal que a estimativa de distância de i à origem é mínima. Em seguida a distância dos vértices vizinhos a i é recalculada, se for o caso; para isso, as arestas passam por um processo de relaxamento. Relaxar uma aresta (i,j) é testar a possibilidade de melhorar o menor caminho encontrado para j pela passagem através do vértice i e, com isso, atualizar a distância mínima que j possui.
27.
© 2011 Pearson
Prentice Hall. Todos os direitos reservados. slide 27 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 27 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 27 © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 27 © 2011 Pearson. Todos os direitos reservados. slide 27 Análise do algoritmo de caminho mínimo O tempo de execução do algoritmo Dijkstra é determinado pela forma como a lista de prioridades mínima é implementada. Na lista como heap binário mínimo cada operação de inserção e remoção custa no pior caso O(logV), onde V representa o número de vértices do grafo. O algoritmo é executado enquanto a lista de prioridade não for vazia. O custo para construção de um heap binário é O(V), então o tempo de execução do algoritmo é: V ⋅ (logV + E + V) = V ⋅ logV + V ⋅ E + V ⋅ V = O(V2).
Baixar agora