`

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

阅读更多

二分查找#

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

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的阶乘

原帖地址

0
1
分享到:
评论

相关推荐

    小菜的算法学习笔记–初学者篇:算法图解 第一章

    在算法的世界里,二分法(Binary Search)是一种非常实用且高效的搜索算法,尤其适合处理有序数据。初学者在学习算法时,理解并掌握二分法是至关重要的一步。本章我们将深入探讨二分法的基本概念、实现原理以及实际...

    数据结构中的代码,算法和电子笔记,字典,图解

    在本压缩包中,包含了多个章节的代码、算法图解以及电子笔记,覆盖了数据结构的核心内容。以下是这些知识点的详细说明: 1. **字典(Dictionary)**:字典是一种关联数组,它存储键值对,允许通过键来快速查找对应...

    C++ 后台工程师面试宝典

    第一章:构建可靠性、可扩展性、可维护性的应用 第二章:数据模型与查询语言 第三章:存储与检索 第四章:编码与演化 第五章:分布式数据 第六章:复制 第六章:分区 第七章:事务 第八章:分布式系统的麻烦 设计...

    最优化—电子版笔记.zip

    最后一章,第六章,聚焦于约束最优化方法。在这一部分,我们会学习到当目标函数受到一系列约束条件限制时,如何采用特殊的策略来找到最优解。本章可能包括拉格朗日乘数法、惩罚函数法、屏障函数法和内点法等。这些...

    典型题解——第17章 非线性电路简介-教程与笔记习题

    首先,标题中提到的“非线性电路简介”意味着本章节将介绍非线性电路的基本概念、特性和分析方法。在电路理论中,线性电路和非线性电路是两个重要范畴,线性电路是指电路元件(如电阻、电容、电感)的伏安特性符合...

    数据结构(C++版)王红梅老师

    例如,“第六章”、“第八章”和“第五章”的文件夹可能包含了这些章节的核心算法和示例程序。 除了分章节的文件夹,光盘还包含5个独立的文件。"readme.doc"通常是一个文档,里面可能包含了使用光盘资源的指南,...

Global site tag (gtag.js) - Google Analytics