首页 > 编程语言 >算法复杂度

算法复杂度

时间:2024-10-13 19:48:43浏览次数:11  
标签:复杂度 衡量 算法 时间 空间 运行

一.复杂度的概念

算法编写成可执行程序后,需要耗费时间空间资源,衡量一个算法的好坏是从时间和空间两个维度衡量。

时间复杂度衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。

二.时间复杂度

算法的时间复杂度是一个函数T(N),他定义了该算法运行的时间,时间复杂度是一个衡量程序的时间效率,那为什么不去计算程序的运行时间呢?

由于不同的编译环境和运行机器的配置不同,同一个算法程序在不同的机器下运行时间都不同。

三.大O渐进法

大O符号适用于描述函数渐进行为的数学符号

推导大O阶的规则

1.函数式T(N)中只保留最高阶项去掉低阶项,因为当N不断变大,低阶项的影响越来越小,则可以忽略。

2.如果最高阶项存在且不是1,则去除常数系数。

3.如果T(N)中没有相关项目,则用常数1取代。

四.空间复杂度

空间复杂度也是一个数学表达式,是对一个算法运行过程中需要额外临时开辟的空间,因为常规情况下每个对象大小不一样,所以我们只需要计算变量个数。

 

标签:复杂度,衡量,算法,时间,空间,运行
From: https://blog.csdn.net/2401_86449430/article/details/142903047

相关文章