projeto de algoritmos e análise de notas de revisão algoritmos curriculares estatísticos 6--
algoritmos estatísticos
problema estrada
Dada (x, y) coordenadas de casas n, onde você deve construir estrada paralela à do eixo X para minimizar o custo de construção de construção de calçadas?
Correto solução final: A rua colocado no meio da coordenada Y
série Estatística
- Procure máximo e mínimo
- K-buscando pequeno elemento
Procura extremamente pequenos ou extremamente
mínima (A)
min ← A [. 1]
para i = 2 ...... N-
fazer se a [i] <min
a min, em seguida, ← A [I]
retorno min
Lema: O mínimo ou máximo de um conjunto de n elementos podem ser encontradas utilizando n - 1 comparações (comparando a encontrar o máximo ou mínimo de n elementos por n-1 vezes).
Enquanto procura o máximo eo mínimo
resposta curta: por comparações máximo e mínimo 2n-2 para dar
uma melhor forma:
Min-Max (A)
. For = 1 ... n-I / 2
fazer se um [2a - 1.] ≤ A [2i]
o, em seguida, B [I] ← a [2i -. 1]
C [I] ← a [2i]
o outro B [I] ← a [2i]
C [I] ← a [2i -. 1]
min ← mínima (B )
max ← o máximo (C)
retorno (min, max)
n / 2 vezes resultar B e C, B encontra-se desde o mais pequeno, de C para encontrar o máximo.
Número total de comparações: 3n / 2-2
I-th elemento selecionado a partir da sequência de pequenas
idéias:
uma espécie rápida de algoritmos de segmentação para a segmentação seqüência
para encontrar um pequeno elemento no lado i o após as necessidades Dividir para dividir a sua localização central, relativamente
custo de tempo:
pode ser feito em Θ (n) sobrecarga
algoritmo de selecção aleatória
RANDOMIZADO-SELECT (A, P, R & lt, I)
se P = P & lt
então retornar A [P]
Q ← RANDOMIZADO-divisória (A, P, R & lt) (valor de retorno)
K ← Q -. P + 1 (dividido localização Centro)
IF I = valor K // Pivot a resposta é
então retornar a [Q]
o else if I <K
o então retorno RANDOMIZADO o SELECT (a, P, Q. 1, I)
a outra pessoa retorno RANDOMIZADO o SELECT (a, q + 1, r, ik)
Análise:
pior caso: o centro máximo ou mínimo separação, separou Θ sobrecarga (n)
o caso médio:
algoritmo de selecção melhor
para seleccionar o pior caso de sobrecarga é O (n)
utilizando o método de segmentação melhorada, já não é o último elemento na sequência é dividida centro
- dividido n / 5 grupo
- Localizar valor para cada grupo
- encontrar n / 5 valor mediano x no grupo
- algoritmo de segmentação melhorada usando dividida em x
- Se i = k, x final retorno, caso contrário, sobre a solução recursiva
exemplo:
Localizar pequena 6 elemento
A = {12 é, 34 é, 0 ,. 3, 22 é ,. 4 ,. 17, 32 ,. 3, 28, 43 é, 82, 25, 27,
34 é, 2 ,. 19, 12 é ,. 5, 18, é , 20, 33, 16, 33, 21, 30, 3, 47}
1. dividida n / 5 grupo.
1️⃣12,34,0,3,22
2️⃣4,17,32,3,28
3️⃣43,82,25,27,34
4️⃣2,19,12,5,18
5️⃣20,33,16,33,21
6️⃣30,3,47
2. Localizar valor para cada grupo.
1️⃣0,3, 12 , 22,34
2️⃣3,4, 17 , 28,32
3️⃣25,27, 34 , 43,82
4️⃣2,5, 12 , 18,19
5️⃣16,20, 21 , 33,33
6️⃣3, 30 , 47
3. Localize n / 5 valor médio no conjunto x.
12,12, 17 , 21,30,34
4. algoritmo de segmentação usando a melhoria da segmentação em x.
Primeira parte: 12 é, 0 ,. 3 ,. 4 ,. 3, 2, 12 é ,. 5, 16 ,. 3
pivô: [. 17 posição do pivô é q = 11]
Parte II: 34, 22, 32, 28, 43, 82 , 25, 27, 34, 19, 18, 20, 33, 33, 21, 30, 47
A solução recursiva na primeira porção.
1.O (n)
2.o (n)
3.T (
n / 5
)
4.O (n-)
5.≤ T (7N / + 6 10.) - material de leitura
T (n) = T (
n / 5
) + T (7N / 10 + 6) + O (n)
Referência: professores Professor Khoo Teck material didático vermelho