Performance 按效率排序算法
伙计们,我的作业还有最后一个问题。。问题在于:Performance 按效率排序算法,performance,algorithm,sorting,big-o,Performance,Algorithm,Sorting,Big O,伙计们,我的作业还有最后一个问题。。问题在于: Reorder the following efficiencies from smallest to largest: 2^n n! n^5 10,000 nlog(n) 再一次。。请不要直接回答这个问题 我的问题是: 1.)从最小到最大是什么意思?最低效率到最高效率 2.)假设10000是常数,我假设这是我的最有效的,然后是nlog(n),然后是n!,然后是有效n^5,最后是2^n。这是正确的吗 我想换一种方式——从效率最高的到效率最低的排序
Reorder the following efficiencies from smallest to largest:
2^n
n!
n^5
10,000
nlog(n)
再一次。。请不要直接回答这个问题
我的问题是:
1.)从最小到最大是什么意思?最低效率到最高效率
2.)假设10000是常数,我假设这是我的最有效的,然后是nlog(n),然后是n!,然后是有效n^5,最后是2^n。这是正确的吗
f(n)=O(g(n))
意味着|f(n)|
对于某些常量c
而言总是小于或等于c*|g(n)
,并且足够大n
。这意味着您将在n
变为无穷大时比较函数值
例如,对于较小的n
而言100*n
小于n²
,但从n=100
开始n²
始终大于或等于100 n
,因此被视为“较大”
相反,它不起作用-无论您选择的常量c
有多大,总会有一些n0
,因此对于所有n>n0
n²>c*100*n
。例如,如果您从n=100000000
上选择c=1000000
n²
仍然大于或等于c*100*n
。f(n)=O(g(n))
意味着f(n)
总是小于或等于c*|g(n)|
对于一些常数c
和足够大的n
。这意味着您将在n
变为无穷大时比较函数值
例如,对于较小的n
而言100*n
小于n²
,但从n=100
开始n²
始终大于或等于100 n
,因此被视为“较大”
相反,它不起作用-无论您选择的常量
c
有多大,总会有一些n0
,因此对于所有n>n0
n²>c*100*n
。例如,如果您选择c=1000000
n²
仍然大于或等于c*100*n
从n=100000000
打开。对于n!,n ^ 5和2 ^ n,考虑它们如何在n+1增加,也就是比较(n+1)!到n!,(n+1)^5到n^5,以及2^(n+1)到2^n
对于你的第一个问题,按照你认为最有意义的方式进行解释,并确保明确说明这就是你排序的方式(效率最低的是most,反之亦然),以便你的教授知道你的意思。对于n!,n ^ 5和2 ^ n,考虑它们如何在n+1增加,也就是比较(n+1)!到n!,(n+1)^5到n^5,以及2^(n+1)到2^n
对于你的第一个问题,按照你认为最有意义的方式进行解释,并确保明确说明这就是你排序的方式(效率最低的是most,反之亦然),以便你的教授知道你的意思。对于这个家庭作业,只需用大量输入替换并进行比较即可。 让你学习。。有大O,ω符号&θ 大O是这个作业应该得到的,因为这是你的函数永远不会超过的上限,。。价值巨大 ωΩ是下限,对于较小的值,函数永远不会低于该下限。例如1000000 θ介于两者之间 但在现实生活中,我总是只面对大O符号
let n = 1000
2^n =~ 1e30
n! =~ too BIG!
n^5 =~ 1e15
10,000 =~ 10000
nlog(n) 3000
从某种意义上讲,你现在会找到正确的顺序。对于这个家庭作业,只需用大量输入替换并比较即可。 让你学习。。有大O,ω符号&θ 大O是这个作业应该得到的,因为这是你的函数永远不会超过的上限,。。价值巨大 ωΩ是下限,对于较小的值,函数永远不会低于该下限。例如1000000 θ介于两者之间 但在现实生活中,我总是只面对大O符号
let n = 1000
2^n =~ 1e30
n! =~ too BIG!
n^5 =~ 1e15
10,000 =~ 10000
nlog(n) 3000
有了某种感觉,你现在就可以找到正确的顺序。如果可以的话,试着绘制它们。查看图表的外观,并使用x而不是n进行比较。如果可以,请尝试绘制它们。看看这些图表是什么样子,用x而不是n来比较它们。为什么不把这个问题作为电子邮件发送给教授呢?因为这是一个定时作业。。他甚至说,不要担心它是否正确