【九月打卡】第7天 算法与数据结构笔记2
2022/9/14 3:16:22
本文主要是介绍【九月打卡】第7天 算法与数据结构笔记2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称:算法与数据结构
课程章节:线性查找法 2-8常见的时间复杂度
主讲老师:Liuyubobobo
课程内容:
算法时间复杂度的基本概念
常见的时间复杂度
课程收获
根据不同的输入,将算法的时间复杂度分析分为3种:
1、最佳情况
使算法执行时间最少的输入。一般情况下,不进行算法在最佳情况下的时间复杂度分析
2、最坏情况
使算法执行时间最多的输入。一般会进行算法在最坏时间复杂度的分析,因为最坏情况是在任何输入下运行时间的一个上限,它给我们提供一个保障。
3、平均情况
算法的平均运行时间,一般情况下很难分析。
时间复杂度就是用来方便开发者估算出程序的运行时间
我们该如何估计程序运行时间呢,我们通常会估计算法的操作单元数量,来代表程序消耗的时间
, 这里我们默认CPU的每个单元运行消耗的时间都是相同的。
假设算法的问题规模为n,那么操作单元数量便用函数f(n)来表示
随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同,这称作为算法的渐近时间复杂度,简称时间复杂度
,记为 O(f(n))
O(lgn)的解释是:
将一个数据集分成两半,然后将分开的每一半再分成两半,依此类推
O(nlgn)的解释是:
将一个数据集分成两半,然后将分开的每一半再分成两半,依此类推,在此过程中同时遍历每一半数据O(lgn)
这篇关于【九月打卡】第7天 算法与数据结构笔记2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性