Cómo demostrar que O (f (n) – g (n)) no es necesariamente igual a O (f (n)) – O (g (n))

El proceso de restar [matemática] O (g (n)) [/ matemática] de [matemática] O (f (n)) [/ matemática] no está bien definido. Entonces, no estoy completamente seguro de lo que quieres decir con esto. Por ejemplo, sea [matemática] f (n) = 2n ^ 2 [/ matemática] y [matemática] g (n) = n ^ 2 [/ matemática], entonces es correcto decir [matemática] O (f (n )) = n ^ 2, O (f (n)) = n ^ 3, O (f (n)) = 2 ^ n [/ matemáticas], etc. Lo mismo ocurre con [matemáticas] O (g (n) )[/matemáticas]. Entonces, ¿qué se entiende por [matemáticas] O (f (n)) – O (g (n)) [/ matemáticas]?

La resta se define en todos los elementos de cada conjunto [matemática] O (f (n)) [/ matemática] y [matemática] O (g (n)). [/ math] Por lo tanto, podría permitir que [math] O (f (n)) – O (g (n)) [/ math] sea el conjunto de todas las funciones

[matemáticas] \ {h_1 – h_2 \,; \, h_1 \ en O (f (n)) \ quad \ text {y} \ quad h_2 \ en O (g (n)) \}. [/ math]

Con esta definición, se puede encontrar fácilmente un contraejemplo. Simplemente dejando que [matemática] f (n) = n ^ 2 + 1 [/ matemática] y [matemática] g (n) = n ^ 2 [/ matemática] te da [matemática] O (f (n) -g (n )) = O (1) [/ matemáticas]. Por lo tanto, [math] h (n) = n ^ 2 \ notin O (f (n) -g (n)) [/ math] por ejemplo. Pero [matemática] h (n) = n ^ 2 [/ matemática] está en [matemática] O (f (n)) – O (g (n)) [/ matemática] ya que [matemática] n ^ 2 \ en O (f (n)) [/ math] y [math] 0 \ en O (g (n)). [/ math]