摘要:
所有的循环都可以转成递归,但递归不一定可以写成循环。 先贴一张图整体感受下递归: 通俗来讲:递归就是方法自己调用自己,每次传入的参数不同,每调用一次自己就开一个新的函数栈,在每个 栈空间完成自己的事情后再回到上一层栈空间,这样一来递归就可以分为三类: 1)上一层栈空间会利用下一层栈空间的运行结果:这 阅读全文
摘要:
1. 背景 假设现在有一个非常大的数组 arr,对数组里面的数字需要反复做两个操作: 1)随机的选择一块区间,然后对区间里面的所有数字求和。 2)随机修改数组里面的某一个值,即更新操作。 因为数组是随机存取的,所以更新操作很容易,其时间复杂度是 $O(1)$。 对于求和操作,其时间复杂度取决于区间的 阅读全文