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

本文介绍了二分查找算法及其应用,对比了其与简单顺序查找的时间复杂度,并解释了对数的基本概念及不同类型的对数。通过具体实例展示了二分查找的效率优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二分查找#

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

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

对数#

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

N=ax(a>0,a1)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.71828e=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的阶乘

原帖地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值