这个算法的时间分析怎么算?
随机产生n个自然数,要求各不相同,这个的一个算法为,数保存在数组里,每个随机产生,如果已经存在就重来,怎么计算此算法的时间期望?因为步骤不定,完全无从下手啊,求大神.
可能我没说清楚,如n为5,则产生1到5的任意排列,如用此算法,产生最后一个的概率为0.2,步骤难确定
人气:413 ℃ 时间:2020-02-04 03:26:11
解答
1、定义一个数组
2、产生一个随机数
3、把产生的随机数按递增顺序放入数组,如果已经存在则舍弃该数据
4、重复2和3,产生需要数目的随机数
如果需要的数据不是很多的话,时间复杂度是O(n)
推荐
猜你喜欢
- 英语语法 so glad to have a chance of standing here to
- beautiful的音标
- At present,some people think ….while others claim …Both sides have their merits.实例
- 变化率与导数这一课在高中哪一年级上的?
- 小石潭记水清原因的句子
- 有堆苹果,3个3个的数,最后剩2个,5个5个的数,剩4个,7个7个的数,剩6个,问苹果最少有多少
- 线代证明,设β是非齐次线性方程组Ax=b的解向量,α1,α2.……αn-r是对应齐次方程组的一个解的基础
- 数学中a^b什么意思啊?