数出双层循环的次数
补全 count_two:两层嵌套、各跑 n 次,返回循环体执行了几次。 算 n = 5 的情况——和上一题比一比,这就是 O(n) 和 O(n²) 的差别。
按下标取一个元素
从数组里按下标取一个元素,时间复杂度是【0】。
从头到尾遍历一遍
把一个长度为 n 的数组从头扫到尾,时间复杂度是【0】。
每次扔掉一半
每比一次就能排除掉剩下的一半(比如二分查找),复杂度是【0】。
两两比较把整个数组过一遍又一遍
相邻两两比较、反复扫很多轮(比如冒泡排序),复杂度是【0】。
二分找 24 要几步
在排好序的 [13, 15, 17, 23, 24] 里二分查找 24。运行下面这段程序,它数的是"比了几次": def bsearch_steps(a, target): lo = 0 hi = len
从头挨个找呢
同一个数组,改成从头挨个找 24。运行下面这段程序: def lsearch_steps(a, target): steps = 0 for x in a: steps += 1 if x =
给一段描述判出复杂度
补全 level:按描述返回复杂度。 四条对应关系:按下标取 → O(1);扫一遍 → O(n);每次扔一半 → O(log n);两层嵌套 → O(n²)。 这次问的是「两层嵌套」。 (⚠️ 表里四个量级只有 O(log n) 中间带空格
自己数一遍二分要几步
补全 bsearch_steps:二分查找,返回一共比较了几次。 在 [13, 15, 17, 23, 24] 里找 13。
空间复杂度算的是什么
空间复杂度算的是【0】。