为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第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)

图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消