Sim, está entre e , mas é mais próximo de que . O que é ? A função log é a função inversa da exponenciação. Deixe-me começar com a exponenciação e você deve ter uma idéia melhor do que é o logaritmo.1 n 1 n log ( n )registro( N )1 1n1 1nregistro( N )
Considere dois números, e . é multiplicado por si mesmo vezes. Você pode, com algum esforço, contar números, mas pode contar ? Aposto que você não pode. Por quê? é um número tão grande que é maior que o número de todos os átomos no universo. Reflita sobre isso por um momento. É um número tão grande que permite que você dê um nome (número) a cada átomo. E o número de átomos em sua unha é provavelmente da ordem de bilhões. deve ser suficiente para qualquer pessoa (trocadilho intencional :)).2 100 2 100 2 100 100 2 100 2 100 2 100100210021002100100210021002100
Agora, entre os dois números, e , é o logaritmo de (na base ). é comparativamente um número tão pequeno que . Alguém deveria ter itens diferentes em sua casa. Mas, é bom o suficiente para o universo. Pense em casa versus universo ao pensar em e .2 100 100 2 100 2 100 2 100 100 2 100 log ( n ) n10021001002100210021001002100log(n)n
De onde vêm a exponenciação e os logaritmos? Por que eles têm tanto interesse em ciência da computação? Você pode não perceber, mas a exponentação está em toda parte. Você pagou juros no cartão de crédito? Você acabou de pagar um universo por sua casa (não é tão ruim, mas a curva se encaixa). Eu gosto de pensar que a exponenciação vem da regra do produto, mas outros são bem-vindos para dar mais exemplos. Qual é a regra do produto, você pode perguntar; E eu responderei.
Digamos que você tenha duas cidades e , e há duas maneiras de ir entre elas. Qual é o número de caminhos entre eles? Dois. Isso é trivial. Agora diga, existe outra cidade , e você pode ir de para de três maneiras. Quantos caminhos existem entre e agora? Seis, certo? Como você conseguiu isso? Você os contou? Ou você os multiplicou? De qualquer maneira, é fácil ver que ambas as formas dão um resultado semelhante. Agora, se você adicionar uma cidade que pode ser acessada a partir de de quatro maneiras, quantas maneiras existem entre eB C B C A C D C A D 2 ⋅ 3 ⋅ 4 24 2 10 1024 2 10 10 10 2 10 10 1024ABCBCACDCAD? Conte se você não confia em mim, mas é igual a que é . Agora, se houver dez cidades e houver dois caminhos de uma cidade para a próxima, eles serão organizados como se fossem uma linha reta. Quantos caminhos existem do começo ao fim? Multiplique-os se não confiar em mim, mas vou lhe dizer que existem , que é . Veja que é resultado exponencial de e é o logaritmo de . é um número pequeno em comparação com .2⋅3⋅42421010242101010210101024
A função do logaritmo é que é (observe que é a base do logaritmo). Se você multipy consigo mesmo vezes (observe que é a base do logaritmo), obtém . é tão pequeno, tão pequeno em comparação com , que é o tamanho da sua casa onde é o tamanho do universo.n n 2 n 2 log b ( n ) b b n log ( n ) n nlog2(n)nn2n2logb(n)bbnlog(n)nn
Em uma nota prática, as funções executam muito semelhante às funções constantes. Eles crescem com , mas crescem muito lentamente. Se você otimizou um programa para ser executado no tempo logarítmico que estava demorando um dia antes, provavelmente o executará na ordem de minutos. Verifique você mesmo com problemas no Project Euler.nlog(n)n