读书笔记:《算法图解》第一章 算法简介
程序员文章站
2022-03-08 16:57:05
...
二分查找#
二分查找是对半查找,进队列表是有序时有效。
n个元素的列表,二分查找最多需要log2nlog2n 步,简单顺序查找最多需要n步。
对数#
对数:对数运算是幂运算的逆运算
N=ax(a>0,a≠1)N=ax(a>0,a≠1), xx就是aa为底NN的对数,记作x=logaNx=logaN,其中:
- aa : 底
- NN : 真数
- xx : 以aa为底NN的对数
幂:
log 指的都是 log2log2
log8log8 = log28log28 = 3 (23=823=8)
- 以10为底的对数称为常用对数,记为lglg
- 以无理数ee(e=2.71828…e=2.71828…)为底的对数称为自然对数,记为lnln
- 零没有对数
- 实数范围内,负数没有对数;复数范围内,负数有对数
时间复杂度#
简单顺序查找的实践复杂度 O(n)O(n)
二分查找的时间复杂度 O(logn)O(logn)
时间复杂度表示了最糟糕情况下的运行时间
常用时间复杂度#
- O(logn)O(logn) 对数时间
- O(n)O(n) 线性时间
- O(n×logn)O(n×logn)
- O(n2)O(n2)
- O(n!)O(n!) n的阶乘
推荐阅读
-
数据结构与算法-简介
-
数据结构与算法-简介
-
算法导论读书笔记-第一部分-基础知识
-
微服务系统架构设计系列 - RateLimiter - 1. 限流器简介与一般算法
-
韩顺平_PHP软件工程师玩转算法公开课(第一季)01_算法重要性_五子棋算法_汉诺塔_回溯算法_学习笔记_源代码图解_PPT文档整理
-
《算法图解》Grokking-algorithms(上)
-
韩顺平_PHP软件工程师玩转算法公开课(第一季)01_算法重要性_五子棋算法_汉诺塔_回溯算法_学习笔记_源代码图解_PPT文档整理
-
C#栈和队列的简介,算法与应用简单实例
-
算法与数据结构(算法简介及大O表示法)
-
简介二分查找算法与相关的Python实现示例