时间复杂度,空间复杂度,常数复杂度

时间复杂度

时间复杂度,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数. 时间复杂度常用大写O表述,不包括这个函数的低阶项和首项系数。

时间复杂度一般是用算法的最复杂的情况来表示,计算复杂度时只取最高项,忽略其系数以及其他项(因为当指数的值慢慢增大时,其他项和其系数本身对于整体算法的影响远没有它对算法的影响大)。

y=x2+x+1

当x的值为10000时,其他项和系数的影响相比与x2基本可以忽略。


计算时间复杂度时,要用算法具体的每一步来计算,如一个数组交换数据,不是只有交换一个动作,要先比较,在交换。有的算法时间复杂度会随参数的改变而改变,具体问题具体分析。

空间复杂度

空间复杂度就是,除去输入输出,在算法的实现中,有没有申请开辟新的空间来存放数据。

for(int = 1 ; i < 10 ; i++){
}

此时这个for循环就申请了一个int数据.

常数复杂度

这里的位运算要比算术运算快得多。

参考资料

https://www.bilibili.com/video/BV1Ef4y1T7Qi/?p=2&spm_id_from=pageDriver&vd_source=f2451bda9057964626a0f3b98a60eb69

posted @ 2023-01-10 17:28  Criollo  阅读(122)  评论(0)    收藏  举报