我目前正在做一些算法作业,我想澄清一些问题,以便确保我所做的工作是正确的。
其中一个问题要求我们通过big-Oh表示法比较~20个函数,然后将彼此重要的函数组合在一起。为了订购它们,我将每一个从0到100绘制成图形并比较图形以找出哪个比其他图形更好。这是比较正确的方法吗?如果有更简单的方法,我该怎么办?我怎么能判断一个函数是否是另一个函数的大概率?例如,我到目前为止列表的一小部分是:
1/n
2^100
log(log(n))
n^.5 , 3n^.5
这两个是分组的,但我不确定如何发现一个是另一个的大...这是我的同伴向我建议
2^(log(n)), 5n
任何和所有的帮助都表示赞赏。我正在努力绕过Big O,Theta和其他人。
答案 0 :(得分:0)
这种表示法与时间复杂度理论有关,问题大小(即“解决方案”空间的大小)是输入参数大小的函数。
您的问题更多的是数学问题,更适合数学交流。话虽如此,this Wikipedia article对你来说是一个很好的起点。
一般来说,问题分为(从最简单到最复杂):
如果您想确定它们的排名方式,请选择一组N = {1 ... n}并将此组的每个元素插入到每个函数中,并绘制它们单独增加的速度。