【九月打卡】第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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程