二分查找#
二分查找是对半查找,进队列表是有序时有效。
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的阶乘
相关推荐
在算法的世界里,二分法(Binary Search)是一种非常实用且高效的搜索算法,尤其适合处理有序数据。初学者在学习算法时,理解并掌握二分法是至关重要的一步。本章我们将深入探讨二分法的基本概念、实现原理以及实际...
在本压缩包中,包含了多个章节的代码、算法图解以及电子笔记,覆盖了数据结构的核心内容。以下是这些知识点的详细说明: 1. **字典(Dictionary)**:字典是一种关联数组,它存储键值对,允许通过键来快速查找对应...
第一章:构建可靠性、可扩展性、可维护性的应用 第二章:数据模型与查询语言 第三章:存储与检索 第四章:编码与演化 第五章:分布式数据 第六章:复制 第六章:分区 第七章:事务 第八章:分布式系统的麻烦 设计...
最后一章,第六章,聚焦于约束最优化方法。在这一部分,我们会学习到当目标函数受到一系列约束条件限制时,如何采用特殊的策略来找到最优解。本章可能包括拉格朗日乘数法、惩罚函数法、屏障函数法和内点法等。这些...
首先,标题中提到的“非线性电路简介”意味着本章节将介绍非线性电路的基本概念、特性和分析方法。在电路理论中,线性电路和非线性电路是两个重要范畴,线性电路是指电路元件(如电阻、电容、电感)的伏安特性符合...
例如,“第六章”、“第八章”和“第五章”的文件夹可能包含了这些章节的核心算法和示例程序。 除了分章节的文件夹,光盘还包含5个独立的文件。"readme.doc"通常是一个文档,里面可能包含了使用光盘资源的指南,...