É o (n log n) velocidade exponencial sobre o (n ^ 2)?
-
28-09-2020 - |
Pergunta
Eu gostaria de saber se $ o (n \ log n) $ é uma velocidade exponencial sobre $ O (n ^ 2) $ ?
Solução
$ o (n \ log n) $ é um polinomial speedup sobre $ o (n ^ 2) $ , em particular quase um pouco quadrático speedup. $ o (n \ log n) $ é grande de $ o (n ^ k $ ) Para todos $ k> 1 $ . Seu tempo de execução é, portanto, entre linear e qualquer função de força cujo expoente é estritamente maior que 1.
Deixe $ f (n)= n \ log n $ . Levá-lo para um poder de algum valor ligeiramente inferior a 2 para aproximar o tempo de execução original. Concluímos $ f (n) \ APROXSILON} (\ Log n) ^ {2- \ VAREPSILON} $ e na $ O (n ^ 2) $ . Se nós square $ f (n) $ , temos $ n ^ 2 (\ log n) ^ 2 $ , ligeiramente menos eficiente do que a original $ n ^ 2 $ , portanto, é basicamente uma velocidade quadrática.
Em vez disso, $ o (\ log n ^ 2)= o (\ log n) $ é uma velocidade exponencial sobre $ O (n ^ 2) $ . Se $ g (n)= 2 \ log (n) $ , então $ e ^ {g (n)}= n ^ 2 $ .