什么是时间复杂度和空间复杂度
时间复杂度和空间复杂度是用来分析一个算法效率的两种指标。
1. 时间复杂度:时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。时间复杂度的全称是渐进时间复杂度,表示算法的执行时间与数据规模之间的增长关系。
2. 空间复杂度:空间复杂度全称就是渐进空间复杂度,表示算法的存储空间与数据规模之间的增长关系。常见的空间复杂度是O(1)、O(n)、O(n²)等。空间复杂度主要衡量一个算法所需要的额外空间。
需要注意的是,计算机的存储容量已经达到了很高的程度,所以我们如今已经不需要再特别关注一个算法的空间复杂度。而是更多地关注时间复杂度,也就是算法的运行速度。