A.空间复杂度为O(1)是指算法只占用一个临时存储单元
B.时间复杂度通常是指最坏情况下的时间复杂度
C.所用编程语言和输入数据都相同时,2个算法分别在同一台计算机上运行,花费时间较长的算法可能具有更低的时间复杂度
D.同一个算法,分别用编译型语言和解释型语言编写为程序,后者运行耗时可能更少
算法频度函数f(n)=100n3+n2+1000的时间复杂度为();算法频度函数g(n)=25n3+5000n2的时间复杂度为();算法频度函数h(n)=n15+5000nlog2n的时间复杂度为()。(填空时O(n3)写为O(n3)即可)
可将算法的时间复杂度降低到O(nlog2n),算法的思想是对于关键码序列(keylow,keylow+1,…,keyhigh),轮流以keyk为根,k=low,low+1,…,h,求使得|W[low-1][k-1]-W[k][high]|达到最小的k,用keyk作为由该序列构成的拟最优二叉搜索树的根。然后对以keyu为界的左子序列和右子序列,分别施行同样的操作,建立根keyk的左子树和右子树,试编写一个函数,实现上述试探算法。要求该函数的时间复杂度应为O(nlog2n)。
O(n)的算法:将L改造为I.=(a1,a3,…,an,…,a4,a2)。