For循环复杂度分析
For loop Complexity Analysis
谁能帮我弄清楚我们是如何达到 (n-1)/4+1 这里的
假设您有一个从 1 到 10 的循环。那么有多少次迭代?
(10 - 1) + 1 = 10 ==> (n-1) + 1
实际上,您总是在第一次迭代的此类计算中加 1,因为如果您从 1 开始到 1,您仍然会进行一次迭代,无论您将迭代器递增 1、2 还是 100 都没有关系。
现在假设我们的迭代器每次递增 4 而不是递增 1。那么现在有多少次迭代?您从 1 开始,然后是 5,然后是 9 ... 3 次迭代。我们像以前一样有 (10-1) 但现在只计算每个第 4 个数字,所以它变成 (10-1)/4:
[(10 - 1)/4] + 1 = 3 ==> [(n-1)/4] + 1 (casting to the lower integer)
谁能帮我弄清楚我们是如何达到 (n-1)/4+1 这里的
假设您有一个从 1 到 10 的循环。那么有多少次迭代?
(10 - 1) + 1 = 10 ==> (n-1) + 1
实际上,您总是在第一次迭代的此类计算中加 1,因为如果您从 1 开始到 1,您仍然会进行一次迭代,无论您将迭代器递增 1、2 还是 100 都没有关系。
现在假设我们的迭代器每次递增 4 而不是递增 1。那么现在有多少次迭代?您从 1 开始,然后是 5,然后是 9 ... 3 次迭代。我们像以前一样有 (10-1) 但现在只计算每个第 4 个数字,所以它变成 (10-1)/4:
[(10 - 1)/4] + 1 = 3 ==> [(n-1)/4] + 1 (casting to the lower integer)