Evet, ile arasında , ancak yakın . Nedir ? Log fonksiyonu, üstellemenin ters fonksiyonudur. Üstellik ile başlayayım ve logaritmanın ne olduğu hakkında daha iyi bir fikir edinmelisin.log(n)1n1nlog(n)
İki ve sayıları dikkate alın . . , ile kez çarpılır . Bir miktar çabayla sayı sayabilirsin , ama sayabilir misin ? Bahse girerim yapamazsın. Neden? öyle büyük bir sayı ki evrendeki tüm atomların sayısından daha büyük. Bir an için bunu düşünün. Öyle büyük bir sayı ki, her bir atomun ismini (sayı) vermenizi sağlar. Parmağınızın çivisindeki atomların sayısı muhtemelen milyarlarca sırada. herkes için yeterli olmalı (pun gerekiyor :)).100210021002100100210021002100
Şimdi, iki sayı arasında, ve , , logaritmasıdır (temel ). karşılaştırmalı olarak den küçük bir sayıdır . Herkesin evinde farklı eşya olması gerekir . Ancak, evren için yeterince iyidir. ve düşünürken evreni vs evreni düşünün .10021001002100210021001002100log(n)n
Üstellik ve logaritmalar nereden geliyor? Bilgisayar bilimine neden bu kadar ilgi duyuyorlar? Fark etmeyebilirsiniz, ancak üstel her yerde. Kredi kartına faiz mi ödedin? Sadece eviniz için bir evren ödediniz (Çok kötü değil, ama eğri uyuyor). Üstelliğin ürün kurallarından geldiğini düşünmekten hoşlanıyorum, ancak diğerleri daha fazla örnek vermekten memnuniyet duyacaktır. Ürün kuralı nedir, sorabilirsiniz; Ve cevaplayacağım.
İki şehir ve ve aralarında gitmenin iki yolu olduğunu söyleyin. Aralarındaki yol sayısı nedir? İki. Bu önemsiz. Şimdi orada başka bir şehir, demek ve aralarından gidebilir için üç şekilde. Şimdi ve arasında kaç yol var ? Altı, değil mi? Bunu nasıl aldın? Onları saydın mı? Yoksa onları çarptın mı? Her iki durumda da, her iki yolun da benzer bir sonuç verdiğini görmek kolaydır. Şimdi , ulaşılabilecek dört şehri yoluna eklerseniz , ve arasında kaç yol vardır?ABCBCACDCAD? Bana güvenmiyorsan say, ama olan eşittir . Şimdi, eğer on şehir varsa ve bir şehirden diğerine iki yol varsa ve onlar düz bir çizgi üzerinde düzenlenmişlerdir. Baştan sona kaç yol var? Bana güvenmiyorsanız onları çarpın, ancak size olan olduğunu söyleyeceğim . Bu Bkz üstel sonucu ve logaritmasıdır . , karşılaştırıldığında küçük bir sayıdır .2⋅3⋅42421010242101010210101024
Logaritma fonksiyonu için neyi etmektir (unutmayın logaritma en temel teşkil eder). Eğer multipy Eğer kendisiyle kere (dikkat: logaritma en temel teşkil eder) Alacağınız . ile karşılaştırıldığında çok küçük, çok küçük olan sizin ev büyüklüğünde olduğunu, evrenin boyutudur.log2(n)nn2n2logb(n)bbnlog(n)nn
Pratik bir notta, fonksiyonları sabit fonksiyonlara çok benzer performans gösterir. ile büyürler , ama çok yavaş büyürler. Bir programı, bir gün önce olan logaritmik bir sürede çalışacak şekilde optimize ettiyseniz, muhtemelen dakikalar halinde çalıştıracaksınız. Project Euler ile ilgili kendiniz sorun.log(n)n