Busca em largura
Busca em largura
Busca em largura
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Alguns l<strong>em</strong>as<br />
Alguns l<strong>em</strong>as<br />
L<strong>em</strong>a 1. Seja G um grafo e s ∈ V[G].<br />
Então para toda aresta (u, v) t<strong>em</strong>os que<br />
dist(s, v) ≤ dist(s, u) + 1.<br />
Prova:<br />
Imediato.<br />
d[v] é uma estimativa superior de dist(s, v).<br />
L<strong>em</strong>a 2. Durante a execução do algoritmo vale o seguinte<br />
invariante<br />
d[v] ≥ dist(s, v) para todo v ∈ V[G].<br />
Cid Carvalho de Souza, Cândida Nunes da Silva, Orlando Lee MO417 — Complexidade de Algoritmos – v. 2.1<br />
Cid Carvalho de Souza, Cândida Nunes da Silva, Orlando Lee MO417 — Complexidade de Algoritmos – v. 2.1<br />
Prova do L<strong>em</strong>a 2<br />
Alguns l<strong>em</strong>as<br />
Indução no número de operações ENQUEUE.<br />
Base: quando s é inserido na fila t<strong>em</strong>os d[s] = 0 = dist(s, s) e<br />
d[v] = ∞ ≥ dist(s, v) para v ∈ V − {s}.<br />
Passo de indução: v é descoberto enquanto a busca é feita <strong>em</strong><br />
u (percorrendo Adj[u]). Então<br />
d[v] = d[u] + 1<br />
≥ dist(s, u) + 1 (HI)<br />
≥ dist(s, v). (L<strong>em</strong>a 1)<br />
Note que d[v] nunca muda após v ser inserido na fila. Logo, o<br />
invariante vale.<br />
L<strong>em</strong>a 3. Suponha que 〈v 1 , v 2 , . . .,v r 〉 seja a disposição da fila<br />
Q na linha 10 <strong>em</strong> uma iteração qualquer.<br />
Então<br />
e<br />
d[v r ] ≤ d[v 1 ] + 1<br />
d[v i ] ≤ d[v i+1 ] para i = 1, 2, . . .,r − 1.<br />
Em outras palavras, os vértices são inseridos na fila <strong>em</strong> ord<strong>em</strong><br />
crescente e há no máximo dois valores de d[v] para vértices<br />
na fila.<br />
Cid Carvalho de Souza, Cândida Nunes da Silva, Orlando Lee MO417 — Complexidade de Algoritmos – v. 2.1<br />
Cid Carvalho de Souza, Cândida Nunes da Silva, Orlando Lee MO417 — Complexidade de Algoritmos – v. 2.1