No CLRS (nas páginas 49-50), qual é o significado da seguinte declaração:
é apenas uma única função anônima (de ), mas não é a mesma que , que realmente não tem uma interpretação ".
asymptotics
landau-notation
kesari
fonte
fonte
Respostas:
Como , é tentador sugerir que ... mas isso não é de fato válido. O motivo é que pode haver uma constante diferente para cada termo na soma.1+2+⋯+n=O(n2) O(1)+O(2)+⋯+O(n)=O(n2)
Um exemplo
Deixe-me dar um exemplo. Considere as somas , , , e assim por diante. Observe que , , , e assim por diante para cada termo no soma. Portanto, seria razoável escrever na forma . Então, podemos concluir que ? Não. De fato, , então .S(1)=12 S(2)=12+22 S(3)=12+22+32 S(4)=12+22+32+42 12∈O(1) 22∈O(2) 32∈O(3) 42∈O(4) S(j)=12+⋯+j2 S(j)=O(1)+⋯+O(j) S(j)=O(j2) S(n)=n(n+1)(2n+1)/6 S(n)=Θ(n3)
Se isso não ajudar, vamos tentar o seguinte desenvolvimento matemático mais preciso:
Uma formalização
Lembre-se de que a interpretação de, digamos, é que é um conjunto de funções não negativas (ou seja, o conjunto de funções modo que exista constantes tal que para todos ).O(n2) f(n) f(n) c≥0,d≥0 f(n)≤c⋅n2 n≥d
O mais próximo que podemos chegar de uma interpretação de é que é o conjunto de funções da forma tal que , , ..., .O(1)+O(2)+⋯+O(n) f1(n)+f2(n)+⋯+fn(n) f1(n)∈O(1) f2(n)∈O(2) fn(n)∈O(n)
Mas agora as constantes para cada podem ser diferentes. Assim, cada é uma função não negativa modo que existem constantes com para todos os .fi fi fi ci≥0,di≥0 fi(n)≤ci⋅i n≥di
Agora, dado isso, o que podemos dizer sobre ? Não é muito útil. Sabemos que existe uma constante tal que para todos os . Agora, o que podemos dizer sobre essa soma? Bem, a resposta é que não podemos dizer nada. Pode ser arbitrariamente grande. É tentador deixar e dizer que ... mas isso não está realmente correto, pois precisamos de um único valor constante de que funcione para todos os , e o valorg(n)=f1(n)+f2(n)+⋯+fn(n) d=max(d1,d2,…,dn) g(n)≤c1⋅1+c2⋅2+⋯+cn⋅n n≥d c=max(c1,c2,…,cn) g(n)≤c⋅(1+2+⋯+n)≤c⋅n2=O(n2) c n max(c1,c2,…,cn) é uma função de , não uma constante.n
Portanto, pode não haver constante tal que ; pode não haver constante tal que . Não há garantia de que .c g(n)≤c⋅(1+2+⋯+n) c g(n)≤c⋅n2 g(n)∈O(n2)
Para mais leitura
Consulte https://math.stackexchange.com/q/86076/14578 e os termos Soma de Landau revisitados para outras perguntas que tratam desse problema geral.
fonte
A razão pela qual o comentário do CLRS é confuso é que, tecnicamente, é definido como . O que realmente está acontecendo é que o CLRS está abusando da notação por uma questão de simplicidade:∑ni=1O(i) O(1)+O(2)+…O(n)
Em vez disso, o CLRS gostaria que você interpretasse como onde a função genérica . Por exemplo, eles escreveriam que é ou .∑ni=1O(i) ∑ni=1f(i) f(i)∈O(i) ∑ni=13i−5 ∑ni=1O(i) O(n2)
fonte