结合冯诺依曼结构来看,计算机由:存储器,计算器,控制器和输入输出设备组成。
而控制器和输入输出设备无需考虑,所以就剩下存储器和计算器了。
算法在单台机器上来说就是要减少计算和存储了。
所以就有了时间复杂度和空间复杂度的概念。
大O表示法。
假设每条指令的时间都是一样,比如是1个单位时间,所以就相当于执行c条指令花费的时间单位就是c。在分析算法的时间复杂度数时,我们把大O表示法的纵坐标表示为程序的执行花费的时间(或者说指令执行的次数),所以:
时间复杂度就表示为:程序正确执行完毕花费时间的增长趋势。
比如O(n)
和时间复杂度一样,在计算空间复杂度时,O(n)就表示:程序正确执行完花费空间的增长趋势,实际上要比时间复杂度情景下简单。