读书笔记:《算法图解》第一章 算法简介

二分查找是对半查找,进队列表是有序时有效。

n个元素的列表,二分查找最多需要log2nlog2n 步,简单顺序查找最多需要n步。

对数#

对数:对数运算是幂运算的逆运算

N=ax(a>0,a≠1)N=ax(a>0,a≠1), xx就是aa为底NN的对数,记作x=logaNx=loga⁡N,其中:

  • aa : 底
  • NN : 真数
  • xx : 以aa为底NN的对数

幂:

log 指的都是 log2log2

log8log⁡8 = log28log2⁡8 = 3 (23=823=8)

  1. 以10为底的对数称为常用对数,记为lglg
  2. 以无理数ee(e=2.71828…e=2.71828…)为底的对数称为自然对数,记为lnln
  3. 零没有对数
  4. 实数范围内,负数没有对数;复数范围内,负数有对数

时间复杂度#

简单顺序查找的实践复杂度 O(n)O(n)

二分查找的时间复杂度 O(logn)O(log⁡n)

时间复杂度表示了最糟糕情况下的运行时间

常用时间复杂度#

  • O(logn)O(log⁡n) 对数时间
  • O(n)O(n) 线性时间
  • O(n×logn)O(n×log⁡n)
  • O(n2)O(n2)
  • O(n!)O(n!) n的阶乘

原帖地址

    原文作者:孙亖
    原文地址: https://www.jianshu.com/p/7a0d359abe26
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞