projeto de algoritmos e análise de notas de revisão algoritmos curriculares estatísticos 6--

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?
problema estrada
Estrada para resolver o problema
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
I-pequeno
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)
T ( n ) = O ( 1 ) [ ] + Θ ( n ) [ ] + T ( n 1 ) = 1 + n + T ( n 1 ) = Θ ( n 2 ) T (n) = O (1) [divisão selecção centro] + Θ (n) [dividindo] + T (n-1) = 1 + n + T (n-1) = Θ (n ^ 2)
o caso médio:
E [ T ( n ) ] 2 n k = n / 2 n 1 [ T ( k ) ] + O ( n ) E [t (n)] \ leq \ frac2n \ sum_ {k = \ lfloor {n / 2} \ rfloor} ^ {n-1} [t (k)] + O (n)

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

  1. dividido \ lceil n / 5 \ rceil grupo
  2. Localizar valor para cada grupo
  3. encontrar \ lceil n / 5 \ rceil valor mediano x no grupo
  4. algoritmo de segmentação melhorada usando dividida em x
  5. 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 \ lceil n / 5 \ rceil 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 \ lceil n / 5 \ rceil 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 ( \ lceil n / 5 \ rceil )
4.O (n-)
5.≤ T (7N / + 6 10.) - material de leitura

T (n) = T ( \ lceil n / 5 \ rceil ) + T (7N / 10 + 6) + O (n)
T ( n ) = O ( n ) T (n) = O (n)

Referência: professores Professor Khoo Teck material didático vermelho

Publicado 25 artigos originais · ganhou elogios 19 · vê 10000 +

Acho que você gosta

Origin blog.csdn.net/weixin_42605042/article/details/89685109
Recomendado
Clasificación