这个算法的时间分析怎么算?随机产生n个自然数,要求各不相同,这个的一个算法为,数保存在数组里,每个随机产生,如果已经存在

这个算法的时间分析怎么算?
随机产生n个自然数,要求各不相同,这个的一个算法为,数保存在数组里,每个随机产生,如果已经存在就重来,怎么计算此算法的时间期望?因为步骤不定,完全无从下手啊,求大神.
可能我没说清楚,如n为5,则产生1到5的任意排列,如用此算法,产生最后一个的概率为0.2,步骤难确定
宝贝呓语 1年前 已收到1个回答 举报

三凌小tt 幼苗

共回答了14个问题采纳率:92.9% 举报

1、定义一个数组
2、产生一个随机数
3、把产生的随机数按递增顺序放入数组,如果已经存在则舍弃该数据
4、重复2和3,产生需要数目的随机数
如果需要的数据不是很多的话,时间复杂度是O(n)

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.021 s. - webmaster@yulucn.com