En el algoritmo O (n) para encontrar el elemento máximo en una matriz, ¿cuál es el valor esperado del número total de cambios en el valor de una variable que mantiene el máximo sobre el paso de una matriz?

Supongamos también que los números en la matriz se distribuyen de manera aleatoria y uniforme yn es la cantidad de números.

X = número de veces que la variable cambió.

let, [math] X_ {i} = \ begin {cases} 1, & \ text {si el valor en el lugar aumenta la cuenta} \\ 0, y \ text {de lo contrario} \ end {cases} [/ math]

Entonces, [matemáticas] X = [/ matemáticas] [matemáticas] X_ {1} + X_ {2} + .. + X_ {n} = \ sum_ {i = 1} ^ n X_ {i} [/ matemáticas]

E [X] = E ([matemáticas] \ sum_ {i = 1} ^ n X_ {i} [/ matemáticas]) = [matemáticas] \ sum_ {i = 1} ^ n E [X_ {i}] [/ matemáticas] (linealidad de la expectativa)

[math] X_ {i} [/ math] es una variable indicadora, por lo tanto

[matemática] E [X_ {i}] = [/ matemática] Pr (el valor en el lugar i es el más grande entre los primeros números i) [matemática] = \ frac {1} {i} [/ matemática]

Entonces, [matemáticas] E [X] = \ sum_ {i = 1} ^ n \ frac {1} {i} = \ frac {1} {1} + \ frac {1} {2} +. . + \ frac {1} {n} [/ matemáticas]

Esta es la suma de la serie Armónica que tiene asintóticas [matemáticas] \ Theta (logn) [/ matemáticas].

Si la matriz se ordena en orden decreciente, la variable que contiene el índice del valor máximo permanece en 0 y, por lo tanto, nunca cambia. Si la matriz se ordena en orden ascendente, la variable que contiene el índice del valor máximo cambia N-1 veces.

El valor esperado del número de cambios es N / 2. En otras palabras, si buscó el valor máximo de una gran cantidad de matrices, estaría buscando, en promedio, en la mitad de la matriz.

Cuando el primer número en sí mismo es el número más grande en la matriz, el número de cambios en el valor máximo es mínimo, es decir, cero.

El número máximo de cambios en el valor máximo se produce cuando los elementos de la matriz están dispuestos en orden ascendente, es decir, n-1.

En los otros casos, no podemos adivinar el número de cambios sin conocer los elementos de la matriz.

Mínimo puede ser 1, en caso de que el primer elemento sea el elemento más grande.

Máximo puede ser n, en caso de que la matriz ya esté ordenada en orden ascendente.