C++数据结构与算法 目录
时间复杂度:CPU读写一次内存算作时间复杂度的最小单位。
读内存的场景:获取变量的值。
例如: if(x < 1000)
写内存的场景:给变量赋值。
例如:x = 1000
空间复杂度:内存占用一个字节作为空间复杂度的最小单位。
如上图所示,由于CPU运算(加减乘除)特别快,而内存的速度与之相比慢了很多,但是CPU又只有有限的几个寄存器可以参与计算,所以,数据总是保存在内存中,通过内存数据反复的和寄存器交换数据,再由CPU加工寄存器数据来完成实际的运算,这就导致瓶颈发生在内存的读写上。
如果一个计算过程需要更多的内存字节数量,我们就说这个计算过程的空间复杂度比较高。
如果一个计算过程需要更多的内存读写次数,我们就说这个计算过程的时间复杂度比较高。