Lo que está haciendo es un abuso de notación muy conveniente.
Algunos pedantes dirán que lo que escribes no tiene sentido, ya que denota un conjunto y no puedes hacer operaciones aritméticas en ellos de la manera que lo estás haciendo.O(f)
Pero es una buena idea ignorar a esos pedantes y asumir que representa a algún miembro del conjunto. Entonces, cuando decimos f ( n ) = g ( n ) + O ( n ) , lo que realmente queremos decir es que f ( n ) - g ( n ) ∈ O ( n ) . (Nota: algunos pedantes también pueden estremecerse ante esta afirmación, alegando que f ( n ) es un número yfO(f)f(n)=g(n)+O(n)f(n)−g(n)∈O(n)f(n)f es la función!)
Esto hace que sea muy conveniente escribir expresiones como
n≤∑k=1nk1/k≤n+O(n1/3)
Lo que esto significa es que hay alguna de tal manera quef∈O(n1/3)
n≤∑k=1nk1/k≤n+f(n)
En tu caso de
∑k=1n1k=∑k=1nO(1)=O(n)
lo estás abusando aún más y debes tener cuidado.
Aquí hay dos posibles interpretaciones: ¿ refiere a una función de n , o una función de k ?O(1)nk
Creo que la interpretación correcta es interpretarlo en función de .k
Si trata de pensarlo como una función de , aunque no sea incorrecto, podría conducir a posibles falacias, como pensar que k es O ( 1 ) y tratar de escribir ∑ n k = 1 k = ∑ n k = 1 O ( 1 )nkO(1)∑nk=1k=∑nk=1O(1)
Si intenta pensar en ello como una función de , entonces es cierto que, si f = O ( g ) (como el argumento va a ∞ ) y g nunca es 0 , esokf=O(g)∞g0
S(n)=∑k=1nf(k)=∑k=1nO(g(k))=O(∑k=1n|g(k)|)
Tenga en cuenta que en el medio, hemos utilizado el abuso conveniente de la notación para significar que para alguna función h ∈ O ( g ) la suma es ∑ n k = 1 h ( k ) . Tenga en cuenta que la función final dentro de la O se refiere a una función de n . La prueba no es tan difícil, pero debe tener en cuenta el hecho de que se trata de un límite superior asintótico (es decir, para argumentos suficientemente grandes), pero la suma comienza justo en 1 .O(g(k))h∈O(g)∑nk=1h(k)On1
Si intenta pensar en ello como una función de , entonces también es cierto que si f = O ( g ) (como el argumento va a ∞ ) entoncesnf=O(g)∞
S(n)=∑k=1nf(k)=∑k=1nO(g(n))=O(ng(n))
Entonces su prueba es esencialmente correcta, en cualquier interpretación.