Cómo mostrar que O (max {f (n), g (n)}) = O (f (n) + g (n))

Como [math] O (\ max \ {f (n), g (n) \}) [/ math] y [math] O (f (n) + g (n)) [/ math] son ​​ambos conjuntos, es suficiente mostrar que cualquier elemento de uno está en el otro y viceversa. Una función [matemática] a (n) [/ matemática] está en [matemática] O (b (n)) [/ matemática] si y solo si existe una [matemática] n_0, [/ matemática] [matemática] m [ / math] ambos mayores que 0, de modo que para todos [math] n> n_0 [/ math], [math] a (n) <m \ cdot b (n) [/ math].

Primero, deje que [math] h (n) \ in O (\ max \ {f (n), g (n) \}) [/ math]. Esto significa que existe un [matemático] n_0, m [/ matemático] tal que para todos [matemático] n> n_0 [/ matemático], [matemático] h (n) <m \ cdot (\ max \ {f (n ), g (n) \}) [/ math]. Dado que [math] \ max \ {f (n), g (n) \} \ le f (n) + g (n) [/ math] para funciones con valores positivos, [math] h (n) n_0 [/ matemáticas], [matemáticas] h (n) <m \ cdot (f (n) + g (n)) [/ matemáticas], lo que demuestra que [matemáticas] h (n) \ en O (f (n) + g (n)) [/ math]. Esta es la dirección fácil de la prueba.

Ahora, deje que [math] h (n) \ en O (f (n) + g (n)) [/ math]. Esto significa que existe una [matemática] n_0, m [/ matemática] tal que para todos [matemática] n> n_0 [/ matemática], [matemática] h (n) <m \ cdot (f (n) + g ( n)) [/ matemáticas]. Aquí es donde usamos el hecho de que [math] f (n) + g (n) \ le 2 (\ max \ {f (n), g (n) \}) [/ math]. Deje [math] m '= 2m [/ math]. Entonces [matemáticas] h (n) n_0 [/ matemáticas], [matemáticas] h (n) <m '\ cdot \ max \ {f (n), g (n) \} [/ matemáticas], lo que demuestra que [matemáticas ] h (n) \ en O (\ max \ {f (n), g (n) \}) [/ math].

Esto completa la prueba de que [math] O (f (n) + g (n)) = O (\ max \ {f (n), g (n) \}) [/ math].

Prueba

Ok, creo que la pregunta que haces es la siguiente …

(1) f (n) + g (n) es O (max (f (n), g (n)))

Por definición, esto se traduce como …

(2) f (n) + g (n) <= c * max (f (n), g (n)), c es R + yn> = N, N es un número natural

Entonces, para mostrar (1), debes probar (2) …

Para probar (2), necesita encontrar un c y N adecuados que mantengan la afirmación (2) verdadera …

Probemos (2) …

Entonces,

f (n) <= max (f (n), g (n)) para n> = 1

g (n) <= max (f (n), g (n)) para n> = 1

Eso implica que …

f (n) + g (n) <= 2 * max (f (n), g (n)) para n> = 1

(Espero que te hayas enterado de eso …)

Ahhhh

¡Ahora hemos encontrado una c y N adecuada que cumple la afirmación (2) verdadera!

c = 2 y N = 1

Por lo tanto …

f (n) + g (n) es O (max (f (n), g (n)))

Espero que eso ayude a resolver su problema. ¡La mejor de las suertes!

Aquí hay una prueba corta y fácil.

Recuerde que O grande denota un conjunto de funciones.

Como [math] f (n) + g (n) [/ math] es mayor o igual que [math] \ max \ {f (n), g (n) \} [/ math], la gran O de la suma debe ser un superconjunto de las funciones en la gran O del máximo.

Como [math] f (n) + g (n) [/ math] es menor o igual que [math] 2 \ max \ {f (n), g (n) \} [/ math], y dado que es constante los factores no importan, la gran O de la suma también debe ser un subconjunto de la gran O del máximo.

Por lo tanto, los dos conjuntos de funciones deben ser iguales.

O (f (n) + g (n))> = O (max ({f (n), g (n)})) es obvio

Deje f (n)> = g (n)

O (max {f (n), g (n)}) = O (f (n)) = O (2f (n)) = O (f (n) + f (n))> = O (f ( n) + g (n))

Entonces O (f (n) + g (n)) = O (max ({f (n), g (n)}))

Sustituir f (n) = 1 y g (n) = 0