时间复杂度
时间复杂度,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数. 时间复杂度常用大写O表述,不包括这个函数的低阶项和首项系数。
时间复杂度一般是用算法的最复杂的情况来表示,计算复杂度时只取最高项,忽略其系数以及其他项(因为当指数的值慢慢增大时,其他项和其系数本身对于整体算法的影响远没有它对算法的影响大)。
y=x2+x+1
当x的值为10000时,其他项和系数的影响相比与x2基本可以忽略。
计算时间复杂度时,要用算法具体的每一步来计算,如一个数组交换数据,不是只有交换一个动作,要先比较,在交换。有的算法时间复杂度会随参数的改变而改变,具体问题具体分析。
空间复杂度
空间复杂度就是,除去输入输出,在算法的实现中,有没有申请开辟新的空间来存放数据。
for(int = 1 ; i < 10 ; i++){
}
此时这个for循环就申请了一个int数据.
常数复杂度
这里的位运算要比算术运算快得多。