[请益] 想请问这个 time complexity 估法?

楼主: wheels   2018-11-19 17:43:28
# Python3
# rand() will return number from [0, R) with the same posibility
# assume R > N > 0
def getNum(N):
num = rand()
while num > N:
num = rand()
return num
# How many times the while-loop may executed?
若要以 R 跟 N 表示 time complexity
想请问这题有什么方法可以下手吗?
感谢各位大神们 :)
作者: BangSaint (真的不想嘴)   2018-11-21 09:48:00
while loop的次数也是一个random variavle吧 可以算平均
作者: AnifalaKeiko (Yukinari)   2018-11-19 17:50:00
R/(R-N)次?
楼主: wheels   2018-11-19 17:51:00
答案我也不知道,只想知道有什么办法可以切入分析 @@
作者: motherboard (妈的Ball)   2018-11-19 17:54:00
最多就跑R-2次阿
楼主: wheels   2018-11-19 17:55:00
为什么是 R-2 呢?还是有机率一直骰不到 < N 的数吧?
作者: motherboard (妈的Ball)   2018-11-19 17:56:00
我的错 XD
楼主: wheels   2018-11-19 17:57:00
话说应该是问 big O notation,但无从下手起 orz
作者: dnabossking (少狂)   2018-11-19 17:58:00
直觉1
作者: motherboard (妈的Ball)   2018-11-19 17:58:00
我看成N只会产生0~R...
作者: ripple0129 (perry tsai)   2018-11-19 18:01:00
实务上我会cProfile下去查就对了
作者: Domos (没事发发废文)   2018-11-19 18:03:00
O( )O(无限)omega(1)
作者: ohohoh   2018-11-19 18:10:00
循环执行次数是无穷等比级数,每次离开机率是N/R题目是在问次数不是时间复杂度吧
楼主: wheels   2018-11-19 18:14:00
其实是在问怎么估 time complexity啦,写的不太好真是抱歉@@请多多包涵
作者: sherees (ShaunTheSheep)   2018-11-19 18:16:00
O(R/(R-N))?
作者: gofigure (平行世界)   2018-11-19 18:52:00
不是O(1)吗? 和跑几次没关 跑1次也是 跑100次也是 N/R?
作者: kokacal   2018-11-19 19:55:00
如果是big O的话应该是worst case?
作者: ernieyang09 (乱入)   2018-11-19 20:06:00
帕斯卡三角形?
作者: Muscovy (三分熟的闹钟)   2018-11-19 20:19:00
把 random() 换成 [0, R) 的均匀分布再往下算就好了啊.
作者: creativity8 (王元龙)   2018-11-19 22:39:00
高雄又美又好 http://bit.ly/2ToBZUc
作者: itoni (每天都过得很混)   2018-11-20 01:59:00
大O的话应该是无限 这算法不保证会结束
作者: gofigure (平行世界)   2018-11-20 09:30:00
楼上的结论怎么得出的?题目说[0,R)产生的数字机率一样所以大数法则保证一定会结束如果是PRNG 那更不是probabilistic的范围因为任何的PRNG都是deterministic换句话说 确定的原因跟大数法则没关系 因为它不是真随机这也是为什么有的乐透可以被破解 因为规则被找到
作者: youtuuube000 (小孩)   2018-11-20 12:12:00
big O不是upper bound吗? 没有结束上限当然是无限大吧?
作者: cha122977 (CHA)   2018-11-20 17:58:00
big O可以算average case或worst case
作者: DrTech (竹科管理处网军研发人员)   2018-11-21 19:08:00
N越大(或越小),执行时间越久。与N的值是线性关系。所以是O(n)
作者: reymk619 (千鸟流风)   2018-11-21 23:53:00
O(N)
作者: iq1000x (台串彭于晏)   2018-11-22 02:47:00
大数法则有保证会结束吗? 趋近而已吧 趋近还是不等于啊
作者: CJacky (西杰)   2018-11-22 12:59:00
O(R)
作者: pig2014 (Rocking Man)   2018-11-24 08:13:00
平摊是O(n)但我觉得这是在rand有暂存R大小的状况下

Links booklink

Contact Us: admin [ a t ] ucptt.com