アルゴリズムの実行時間は通常、定数係数と低次の項を省略して式を簡略化するために使用されるビッグ O 記法で表されます。異なる底の対数は定数係数のみが異なるため、 O (log 2 n )の時間で実行されるアルゴリズムは、たとえばO (log 13 n )の時間で実行されるとも言えます。したがって、O (log n )やO ( n log n )のような式の対数の底は重要ではなく、省略できます。[ 11 ] [ 36 ]ただし、時間制限の指数に現れる対数については、対数の底を省略することはできません。たとえば、O (2 log 2 n )はO (2 ln n )とは異なります。前者はO ( n )に等しく、後者はO ( n 0.6931... )に等しいからです。
実行時間がO ( n log n )のアルゴリズムは、線形アルゴリズムと呼ばれることがあります。[ 37 ]実行時間がO (log n )またはO ( n log n )のアルゴリズムの例をいくつか挙げます。
一般的な正の実数に対して、二進対数は2つの部分で計算できます。[ 60 ] まず、整数部分を計算し、(対数の特性と呼ばれる)。これにより、対数の引数が区間[ 1, 2)に限定された範囲にある問題に帰着し、小数部(対数の仮数)を計算する第 2 段階が簡略化される。任意のx > 0に対して、 2 n ≤ x < 2 n +1または同等に1 ≤ 2 − n x < 2となる一意の整数nが存在する。これで、対数の整数部は単にnとなり、小数部はlog 2 (2 − n x )となる。[ 60 ] 言い換えれば、
ステップ 1 の小数部分がゼロである特殊なケースでは、これはある時点で終了する有限数列です。それ以外の場合は、各項が前の項より厳密に小さい (すべてのm i > 0であるため)ため、比率テストに従って収束する無限級数です。ホーナーの方法を参照してください。実用上、この無限級数は近似結果を得るために打ち切る必要があります。級数がi番目の項で打ち切られると、結果の誤差は2 −( m 1 + m 2 + ⋯ + m i )より小さくなります。[ 60 ]
↑例えば、 Igor Shparlinski (2013)、「解析的数論の暗号学的応用:複雑性の下限と擬似乱数性」、Progress in Computer Science and Applied Logic、第22巻、Birkhäuser、 35ページ、 ISBNを参照。978-3-0348-8037-4。
↑オイラー、レオンハルト( 1739)、「第 7 章 De Variorum Intervallorum Receptis Appelationibus」、Tentamen novae theoriae musicae ex certissismis harmoniae principiis dilucide expositae (ラテン語)、サンクトペテルブルク アカデミー、 102–112ページ。
↑ Batschelet, E. (2012), Introduction to Mathematics for Life Scientists , Springer, p. 128, ISBN978-3-642-96080-2。
↑例えば、 Microsoft ExcelIMLOG2には複素二進対数の関数が用意されています。詳細は、 Bourg, David M. (2006), Excel Scientific and Engineering Cookbook , O'Reilly Media, p. 232, ISBN を参照してください。978-0-596-55317-3。
↑ Kolman, Bernard; Shapiro, Arnold (1982), "11.4 対数の性質", Algebra for College Students , Academic Press, pp. 334–335 , ISBN978-1-4832-7121-7。
1 2 Mitchell, John N. (1962), "Computer multiplication and division using binary logarithms", IRE Transactions on Electronic Computers , EC-11 (4): 512–517 , Bibcode : 1962IRTEC..11..512M , doi : 10.1109/TEC.1962.5219391。
↑ Fiche, Georges; Hebuterne, Gerard (2013), Mathematics for Engineers , John Wiley & Sons, p. 152, ISBN978-1-118-62333-6以下では、特に断りのない限り、log x という表記は常にxの底が2 の対数を表します。。
1 2 Goodrich, Michael T. ; Tamassia, Roberto (2002), Algorithm Design: Foundations, Analysis, and Internet Examples , John Wiley & Sons, p. 23,データ構造とアルゴリズムの分析における興味深い、時には驚くべき側面の 1 つは、対数が遍在していることです。... コンピューティング文献の慣例に従い、b = 2の場合は対数の底bを省略します。
1 2 3 Tafel、Hans Jörg (1971)、Einführung in die digitale Datenverarbeitung [デジタル情報処理入門] (ドイツ語)、ミュンヘン: Carl Hanser Verlag、pp. 20–21、ISBN3-446-10569-7
↑ Bayer, Dave ; Diaconis, Persi (1992), "Trailing the dovetail shuffle to its lair", The Annals of Applied Probability , 2 (2): 294– 313, doi : 10.1214/aoap/1177005705 , JSTOR 2959752 , MR 1161056。
↑ Mehlhorn, Kurt ; Sanders, Peter (2008), "2.5 例 – 二分探索", Algorithms and Data Structures: The Basic Toolbox (PDF) , Springer, pp. 34–36 , ISBN978-3-540-77977-3。
↑ Causton, Helen; Quackenbush, John; Brazma, Alvis (2009), Microarray Gene Expression Data Analysis: A Beginner's Guide , John Wiley & Sons, pp. 49–50 , ISBN978-1-4443-1156-3。
↑ Eidhammer, Ingvar; Barsnes, Harald; Eide, Geir Egil; Martens, Lennart (2012), Computational and Statistical Methods for Protein Quantification by Mass Spectrometry , John Wiley & Sons, p. 105, ISBN978-1-118-49378-6。
↑ Combet, M.; Van Zonneveld, H.; Verbeek, L. (1965年12月)、「2進数の2進対数の計算」、IEEE Transactions on Electronic Computers、EC-14 (6): 863–867、Bibcode : 1965ITECm..14..863C、doi : 10.1109/pgec.1965.264080
↑ McEniry, Charles (2007年8月)、「高速逆平方根関数コードの背後にある数学」(PDF)、2015年5月11日にオリジナル(PDF)からアーカイブ済み
1 2 3 4 Majithia, JC; Levan, D. (1973), "底2の対数計算に関する注記", Proceedings of the IEEE , 61 (10): 1519– 1520, Bibcode : 1973IEEEP..61.1519M , doi : 10.1109/PROC.1973.9318。
↑ Stephenson, Ian (2005), "9.6 高速なべき乗、Log2、およびExp2関数", Production Rendering: Design and Implementation , Springer-Verlag, pp. 270–273 , ISBN978-1-84628-085-6。