• Nenhum resultado encontrado

Análise de Algoritmos

N/A
N/A
Protected

Academic year: 2022

Share "Análise de Algoritmos"

Copied!
16
0
0

Texto

(1)
(2)

O que é (informalmente)?

Consiste na minimização do custo de travessia de um grafo entre dois nós (ou vértices)

Custo este dado pela soma dos pesos de cada aresta percorrida

www.nakamura.eti.br/eduardo Análise de Algoritmos 2

(3)

O que é (formalmente)?

Dado um grafo ponderado G=(V,E)

Função de custo w: ER

Dado qualquer elemento v  V, encontrar um caminho P de v para cada v'  V tal que

seja mínimo

pP

p w( )

(4)

Soluciona o problema do caminho mais curto

Grafo dirigido ou não dirigido com arestas de peso positivo,

Tempo O(V log V + E)

O algoritmo de Dijkstra assemelha-se ao BFS

www.nakamura.eti.br/eduardo Análise de Algoritmos 4

(5)

DIJKSTRA(G,w,s)

1: for each v  V do 2: d[v]  ;

3: pai[v]  NIL;

4: end for 5: d[s]  0;

6: S  ;

7: Q  V;

8: while Q   do

9: u  vizinho mais próximo da raiz;

10: S  S  {u};

11: for each v  Adj[u] do

12: if d[v] > d[u] + w(u,v) then 13: d[v]  d[u] + w(u,v);

14: pai[v]  u;

15: end if 16: end for 17: end while

4

6 5

-8 1

(6)

www.nakamura.eti.br/eduardo Análise de Algoritmos 6

6

1 2

4

3

10 5

s

2 9

7

A B

C D

(7)

6

1 2

4

3

10 5

s

2 9

7

0

A B

C D

(8)

www.nakamura.eti.br/eduardo Análise de Algoritmos 8

6

1 2

4

3

10 5

s

2 9

7

10 5

0

A B

C D

(9)

6

1 2

4

3

10 5

s

2 9

7

10 5

0

A B

C D

(10)

www.nakamura.eti.br/eduardo Análise de Algoritmos 10

6

1 2

4

3

10 5

s

2 9

7

14 7

8 5

0

A B

C D

(11)

6

1 2

4

3

10 5

s

2 9

7

14 7

8 5

0

A B

C D

(12)

www.nakamura.eti.br/eduardo Análise de Algoritmos 12

6

1 2

4

3

10 5

s

2 9

7

13 7

8 5

0

A B

C D

(13)

6

1 2

4

3

10 5

s

2 9

7

13 7

8 5

0

A B

C D

(14)

www.nakamura.eti.br/eduardo Análise de Algoritmos 14

6

1 2

4

3

10 5

s

2 9

7

9 7

8 5

0

A B

C D

(15)

6

1 2

4

3

10 5

s

2 9

7

9 7

8 5

0

A B

C D

(16)

Execute o algoritmo de Dijkstra sobre o grafo do exemplo usando como raiz o vértice B, A e D.

Faça a análise de complexidade do algoritmo de Dijkstra.

Forneça um exemplo simples de um grafo com apenas 3 ou 4 nós, com aresta(s) negativa(s) para o qual o

algoritmo de Dijkstra gere uma resposta incorreta.

www.nakamura.eti.br/eduardo Análise de Algoritmos 16

Referências

Documentos relacionados

Capitalização S/A. 7.3 O recebimento do valor do prêmio, dar-se-á por meio de depósito em conta corrente ou conta poupança de titularidade do contemplado e o respectivo

Pretende-se, assim, relacionar os medicamentos comumente conhecidos com alguns conteúdos do ensino médio, de modo a despertar o interesse do aluno, para que ele tenha uma visão

Não haverá jamais maior dor que a de perda um ente querido, e a ele ter de dizer o defenitivo adeus, e não existem quaisquer palavras ou gestos que algo possam contra o sofrimento

Pretendo, a partir de agora, me focar detalhadamente nas Investigações Filosóficas e realizar uma leitura pormenorizada das §§65-88, com o fim de apresentar e

CSPCCO – COMISSÃO DE SEGURANÇA PÚBLICA E COMBATE AO CRIME ORGANIZADO Reunião destinada a discutir e votar as sugestões de emendas da Comissão ao PLN nº 20/17 (Lei

Os maiores coeficientes da razão área/perímetro são das edificações Kanimbambo (12,75) e Barão do Rio Branco (10,22) ou seja possuem uma maior área por unidade de

Incidirei, em particular, sobre a noção de cuidado, estruturando o texto em duas partes: a primeira será uma breve explicitação da noção de cuidado em Martin Heidegger (o cuidado

Prejuízo estético, em grau médio ou máximo, quando atingidos crânios, e/ou face, e/ou pescoço ou perda de dentes quando há também deformação da arcada