如果一个数出现在数组中某个位置的概率是前一个的一半

明天就要考算法了(全称:算法设计与分析),紧张,线上考试的第一场,祈祷顺利。

以前线下考试,你复习就完了,现在:
①线上考试复习没书;
②要开摄像头,得把窝儿拾到拾到;
③我还从网上买了自拍杆,三脚架,还得自己调整角度。
总之就是一句话:太难了。

今天复习的时候吧,遇到了以前做过的一道题,当时就没写出来,老师讲了一遍,感觉还挺简单的,时隔几个月的今天,又不会写了 /(ㄒoㄒ)/~~

如果一个数出现在数组中某个位置的概率是前一个的一半_第1张图片

虽然它是一个选择题,但是做出来难道不比懵出来更有成就感吗?现在就来肝它

步骤:
(1)设查找第一个元素的概率为 x1,然后每个元素查找概率都可以表示出来。
(2)n 个元素的概率和为 1。
(3)当 n 趋于无穷大时,可求出 x1。
(4)进而可知查找所有元素的概率。
(5)然后根据上述算法表示出平均情况下的时间复杂度 A(n)。(上述算法中,找到第 i个元素所需时间是 i)
(6)由第五步,可观察出 A(n) 是一个等差✖等比的式子,然后运用高中知识解出来就可以了。在这里还要注意一下,n 是趋于无穷大的。

附详细过程:
如果一个数出现在数组中某个位置的概率是前一个的一半_第2张图片

你可能感兴趣的:(算法,算法)