不完全。for(int i = 0 ; i < n ; i ++) 肯定是O(n)的;for(int i = 0 ; i*i < n ; i ++)是O(sqrt(n))的(判断一个数是否是素数,会用到类似的循环);for(int i = 0 ; i < n ; i *= 2) 是O(logn)的(我的《算法与数据结构》课程中,自底向上的归并排序会用到类似的循环)。我在《玩转算法面试》课程中《第二章》,特意提到了,计算复杂度,不能单纯的数循环数(虽然在大多数时候ok),关键还是要看执行的操作数和n的关系:)