算法的复杂度
1.1.3 算法的复杂度
算法的复杂度主要包括时间复杂度和空间复杂度。
1.算法的时间复杂度
所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
算法所执行的基本运算次数还与问题的规模有关。
算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数。
在同一个问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入时,可以用以下两种方法来分析算法的工作量。
(1)平均性态(Average Behavior)
所谓平均性态分析,是指用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量。
(2)最坏情况复杂性(Worst-Case Complexity)
所谓最坏情况分析,是指在规模为n时,算法所执行的基本运算的最大次数。
2.算法的空间复杂度
一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。
相关推荐
kls00 2020-09-20
美丽的泡沫 2020-09-08
wonner 2020-06-17
ldh 2020-06-09
算法改变人生 2020-06-03
lickylin 2020-05-27
aaJamesJones 2020-05-20
baike 2020-05-14
Cypress 2020-05-09
roseying 2020-02-23
waitwolf 2020-02-21
JavaWDB 2020-02-03
dbhllnr 2020-02-02
wuxiaosi0 2020-01-07
yuanlunxi 2019-12-05
lixiaotao 2019-11-10
TTdreamloong 2019-10-30
whtqsq 2019-09-08
LinuxAndroidAI 2015-04-15