举例: for(int i=0;i<n;++){ int temp = i; } 和 int temp=0; for(int i=0;i<n;i++){ temp = i; } 第一个是O(n),第二个是O(1) 首先要明确一个概念,变量的内存分配发生在定义的时候,因为第一个的定义是循环里边,所以是n*O(1),第二个定义在循环外边,所以是1*O(1)
举例: for(int i=0;i<n;++){ int temp = i; } 和 int temp=0; for(int i=0;i<n;i++){ temp = i; } 第一个是O(n),第二个是O(1) 首先要明确一个概念,变量的内存分配发生在定义的时候,因为第一个的定义是循环里边,所以是n*O(1),第二个定义在循环外边,所以是1*O(1)
转载于:https://www.cnblogs.com/daysn/p/11602171.html