Algoritmos e complexidade Notas de aula - Arquivo Escolar
Algoritmos e complexidade Notas de aula - Arquivo Escolar Algoritmos e complexidade Notas de aula - Arquivo Escolar
2. Análise de complexidade Novamente, o último passo é o mais difícil de justificar. A mesma partição que aplicamos acima leva a d∈Dn = Pr[d](desemp[QS](dl) + desemp[QS](dr)) 1≤i≤n d∈Di n = 1≤i≤n = 1≤i≤n = 1≤i≤n 1 |D| Pr[d](desemp[QS](dl) + desemp[QS](dr)) (desemp[QS](dl) + desemp[QS](dr)) d∈D i n |D i n| |D| (cm[QS](i − 1) + cm[QS](n − i)) Pr[X = i](cm[QS](i − 1) + cm[QS](n − i)) é o penúltimo passo é correto, porque a média do desempenho sobre as permutações dl e dr é a mesma que sobre as permutações com i − 1 e n − i elementos: toda permutação ocorre com a mesma probabilidade e o mesmo número de vezes (Knuth [43, p. 119] tem mais detalhes). Se denotamos o desempenho com Tn = cm[QS](n), obtemos a recorrência Tn = n + 1≤i≤n Pr[X = i] (Ti−1 + Tn−i) com base Tn = 0 para n ≤ 1. A probabilidade de escolher o i-ésimo elemento como pivô depende da estratégia da escolha. Vamos estudar dois casos. 1. Escolhe o primeiro elemento como pivô. Temos Pr[X = i] = 1/n. Como Pr[X = i] não depende do i a equação acima vira Tn = n − 1 + 2/n 0≤i
Recorrência Tn = n + 2/(n(n − 1)) 1≤i≤n = n + 2/(n(n − 1)) 0≤i
- Page 9: Parte I. Análise de algoritmos 7
- Page 12 and 13: 1. Introdução e conceitos básico
- Page 14 and 15: 1. Introdução e conceitos básico
- Page 16 and 17: 1. Introdução e conceitos básico
- Page 18 and 19: 1. Introdução e conceitos básico
- Page 20 and 21: 1. Introdução e conceitos básico
- Page 22 and 23: 1. Introdução e conceitos básico
- Page 24 and 25: 1. Introdução e conceitos básico
- Page 26 and 27: 1. Introdução e conceitos básico
- Page 28 and 29: 1. Introdução e conceitos básico
- Page 30 and 31: 1. Introdução e conceitos básico
- Page 32 and 33: 1. Introdução e conceitos básico
- Page 34 and 35: 2. Análise de complexidade • Par
- Page 36 and 37: 2. Análise de complexidade • Uma
- Page 38 and 39: 2. Análise de complexidade 1. Atri
- Page 40 and 41: 2. Análise de complexidade Exemplo
- Page 42 and 43: 2. Análise de complexidade Compone
- Page 44 and 45: 2. Análise de complexidade • Qua
- Page 46 and 47: 2. Análise de complexidade Algorit
- Page 48 and 49: 2. Análise de complexidade Algorit
- Page 50 and 51: 2. Análise de complexidade Tratabi
- Page 52 and 53: 2. Análise de complexidade A compl
- Page 54 and 55: 2. Análise de complexidade • Fre
- Page 56 and 57: 2. Análise de complexidade Exemplo
- Page 58 and 59: 2. Análise de complexidade 1 i f l
- Page 62 and 63: 2. Análise de complexidade Logo te
- Page 64 and 65: 2. Análise de complexidade 7 for c
- Page 66 and 67: 2. Análise de complexidade Com iss
- Page 68 and 69: 2. Análise de complexidade funçã
- Page 70 and 71: 2. Análise de complexidade Algorit
- Page 72 and 73: 2. Análise de complexidade resolve
- Page 75: 3. Introdução Resolver problemas
- Page 78 and 79: 4. Algoritmos gulosos A abordagem g
- Page 80 and 81: 4. Algoritmos gulosos Do outro lado
- Page 82 and 83: 4. Algoritmos gulosos Aplicações
- Page 84 and 85: 4. Algoritmos gulosos 1 V ′ := {v
- Page 86 and 87: 4. Algoritmos gulosos Algoritmo de
- Page 88 and 89: 4. Algoritmos gulosos Implementaç
- Page 90 and 91: 4. Algoritmos gulosos Variação do
- Page 92 and 93: 4. Algoritmos gulosos • Como comp
- Page 94 and 95: 4. Algoritmos gulosos Proposição
- Page 96 and 97: 4. Algoritmos gulosos Resultados O
- Page 98 and 99: 5. Programação dinâmica É simpl
- Page 100 and 101: 5. Programação dinâmica soluçã
- Page 102 and 103: 5. Programação dinâmica Teorema:
- Page 104 and 105: 5. Programação dinâmica e calcul
- Page 106 and 107: 5. Programação dinâmica 5.2.2. S
- Page 108 and 109: 5. Programação dinâmica 11 sol1
2. Análise <strong>de</strong> <strong>complexida<strong>de</strong></strong><br />
Novamente, o último passo é o mais difícil <strong>de</strong> justificar. A mesma partição<br />
que aplicamos acima leva a<br />
<br />
d∈Dn<br />
= <br />
Pr[d](<strong>de</strong>semp[QS](dl) + <strong>de</strong>semp[QS](dr))<br />
<br />
1≤i≤n d∈Di n<br />
= <br />
1≤i≤n<br />
= <br />
1≤i≤n<br />
= <br />
1≤i≤n<br />
1<br />
|D|<br />
Pr[d](<strong>de</strong>semp[QS](dl) + <strong>de</strong>semp[QS](dr))<br />
<br />
(<strong>de</strong>semp[QS](dl) + <strong>de</strong>semp[QS](dr))<br />
d∈D i n<br />
|D i n|<br />
|D| (cm[QS](i − 1) + cm[QS](n − i))<br />
Pr[X = i](cm[QS](i − 1) + cm[QS](n − i))<br />
é o penúltimo passo é correto, porque a média do <strong>de</strong>sempenho sobre as permutações<br />
dl e dr é a mesma que sobre as permutações com i − 1 e n − i<br />
elementos: toda permutação ocorre com a mesma probabilida<strong>de</strong> e o mesmo<br />
número <strong>de</strong> vezes (Knuth [43, p. 119] tem mais <strong>de</strong>talhes).<br />
Se <strong>de</strong>notamos o <strong>de</strong>sempenho com Tn = cm[QS](n), obtemos a recorrência<br />
Tn = n + <br />
1≤i≤n<br />
Pr[X = i] (Ti−1 + Tn−i)<br />
com base Tn = 0 para n ≤ 1. A probabilida<strong>de</strong> <strong>de</strong> escolher o i-ésimo elemento<br />
como pivô <strong>de</strong>pen<strong>de</strong> da estratégia da escolha. Vamos estudar dois casos.<br />
1. Escolhe o primeiro elemento como pivô. Temos Pr[X = i] = 1/n. Como<br />
Pr[X = i] não <strong>de</strong>pen<strong>de</strong> do i a equação acima vira<br />
Tn = n − 1 + 2/n <br />
0≤i