作者:翔溢_142 | 来源:互联网 | 2023-05-18 04:06
问几个算法分析题目:1.证明:n!o(n^n).(o不是O).2.证明:n!sita(n^n).(sita就是那个同音的希腊字母)3.下面的算法用于确定n的初始值.试分析该算法段所需计
问几个算法分析题目:
1.证明:n!=o(n^n).(o不是O).
2.证明:n!=sita(n^n).(sita就是那个同音的希腊字母)
3.下面的算法用于确定n的初始值.试分析该算法段所需计算时间的上界和下届.
while(n>1)
{
if(odd(n))//n是否为奇数
n=3*n+1;
else
n=n/2
}
4.证明:如果一个算法在平均情况下的计算时间复杂性为sita(f(n)),则该算法在
最坏情况下所需的计算时间为omiga(f(n)).(omiga就是那个同音的希腊字母).
以上题目出自王晓东算法(第二版)书p.5最后4题.
9 个解决方案
第一题,第二题用stirling 公式。。。
×××××××××××××××××××
4。。前面不是讲过了啊??用到平均时间效率和最差时间效率。。。还有概率
题三是什么意思,N不是给出来了吗?还要确定它的初始值?
第 3 题的下界就是当 n = 2^k 时的情形了,就是 Omega(logn)
至于上界就不好确定了,这个题目是来源于所谓 黑洞猜想(好象),也叫角谷猜想的,就是要证明对任意的n,通过这样的运算,最终都可以达到 1,以前看介绍的时候还没证明,不知现在如何?
这书如果没有任何提示或假设而出这样的题目,也歹毒了一点吧……