课程名称:算法与数据结构
课程章节:线性查找法 2-8常见的时间复杂度
主讲老师:Liuyubobobo
课程内容:
算法时间复杂度的基本概念
常见的时间复杂度
课程收获
根据不同的输入,将算法的时间复杂度分析分为3种:
1、最佳情况
使算法执行时间最少的输入。一般情况下,不进行算法在最佳情况下的时间复杂度分析
2、最坏情况
使算法执行时间最多的输入。一般会进行算法在最坏时间复杂度的分析,因为最坏情况是在任何输入下运行时间的一个上限,它给我们提供一个保障。
3、平均情况
算法的平均运行时间,一般情况下很难分析。
时间复杂度就是用来方便开发者估算出程序的运行时间
我们该如何估计程序运行时间呢,我们通常会估计算法的操作单元数量,来代表程序消耗的时间
, 这里我们默认CPU的每个单元运行消耗的时间都是相同的。
假设算法的问题规模为n,那么操作单元数量便用函数f(n)来表示
随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同,这称作为算法的渐近时间复杂度,简称时间复杂度
,记为 O(f(n))
O(lgn)的解释是:
将一个数据集分成两半,然后将分开的每一半再分成两半,依此类推
O(nlgn)的解释是:
将一个数据集分成两半,然后将分开的每一半再分成两半,依此类推,在此过程中同时遍历每一半数据O(lgn)
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦