You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

代码片段平均情况下的Θ表达式解析及内层循环期望次数求解

随机排列下内层循环的平均期望执行次数分析

先明确代码逻辑:外层循环遍历i = 0到n-1,内层循环从j=0开始,每执行一次sum++,直到找到A[j] = i才停止。注意内层循环的执行次数等于i在数组A中的索引值——比如i在A的第k个位置(索引k),那么j会从0走到k-1,一共执行k次循环(j=k时触发终止条件,不进入循环)。

因为A是0到n-1的随机排列,每个元素出现在任意索引位置的概率均等:

  • 对于任意i,它出现在索引k(k从0到n-1)的概率都是1/n。

接下来计算单个i对应的内层循环执行次数的期望:
单个i的期望执行次数E(k_i)等于所有可能的索引k乘以对应概率的总和,即:

E(k_i) = (0*(1/n)) + (1*(1/n)) + (2*(1/n)) + ... + ((n-1)*(1/n))

这是一个等差数列求和,化简后:

E(k_i) = (1/n) * [n(n-1)/2] = (n-1)/2

外层循环共执行n次,所以总的内层循环期望执行次数是:

总期望 = n * E(k_i) = n*(n-1)/2 = (n² - n)/2

这个结果的主导项是n²/2,因此平均情况下的Θ表达式为Θ(n²)。

内容的提问来源于stack exchange,提问作者noname

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 14:34:52