【九月打卡】第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-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
- 2024-11-24细说敏捷:敏捷四会之每日站会
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解