码迷,mamicode.com
首页 > 编程语言 > 详细

算法的复杂度

时间:2019-12-04 20:31:37      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:计算   一个   复杂度   nbsp   数据结构   最大   数据   时间复杂度   空间复杂度   

1.1.3 算法的复杂度

算法的复杂度主要包括时间复杂度空间复杂度。

 

1.算法的时间复杂度

所谓算法的时间复杂度,是指执行算法所需要的计算工作量。

可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。

算法所执行的基本运算次数还与问题的规模有关。

算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数。

在同一个问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量。

(1)平均性态(Average Behavior)

所谓平均性态分析,是指用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量。

(2)最坏情况复杂性(Worst-Case Complexity)

所谓最坏情况分析,是指在规模为n时,算法所执行的基本运算的最大次数。

 

2.算法的空间复杂度

一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。

算法的复杂度

标签:计算   一个   复杂度   nbsp   数据结构   最大   数据   时间复杂度   空间复杂度   

原文地址:https://www.cnblogs.com/iglesias/p/11984933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!