已知数列G(x)满足:G(1)=G(2)=G(3)=G(4)=1G(x)=G(x-1)+G(x-2)+G(x-3)+G(x-4)(x≥5)根据递推式写出求数列值的递归算法,问原始算法与采用函数值缓存的算法时间复杂度分别为多少?

已知数列G(x)满足:G(1)=G(2)=G(3)=G(4)=1G(x)=G(x-1)+G(x-2)+G(x-3)+G(x-4)(x≥5)根据递推式写出求数列值的递归算法,问原始算法与采用函数值缓存的算法时间复杂度分别为多少?
A.O(4^n);O(n)B.O(5^n);O(n^2)C.O(n^4);O(n^2)D.O(5^n);O(1)正确答案:O(4^n);O(n)

以下哪些说法是错误的?

以下哪些说法是错误的?
A.函数值缓存可以减少算法的时间复杂度B.函数值缓存不能减少算法的空间复杂度C.动态规划可以减少算法的时间复杂度D.动态规划不能减少算法的空间复杂度E.函数值缓存不能减少算法的时间复杂度F.函数值缓存可以减少算法的空间复杂度G.动态规划可以减少算法的空间复杂度H、动态规划不能减少算法的时间复杂度正确答案:函数值缓存不能减少算法的时间复杂度;函数值缓存可以减少算法的空间复杂度;动态规划可以减少算法的空间复杂度;动态规划不能减少算法的时间复杂度

以下关于归并和快速排序算法的叙述何者正确?

以下关于归并和快速排序算法的叙述何者正确?
A.平均时间复杂度上,归并排序的复杂度较低B.平均时间复杂度上,快速排序的复杂度较低C.空间复杂度上,归并排序的复杂度较低D.空间复杂度上,快速排序的复杂度较低E.其它选项皆不正确。正确答案:空间复杂度上,快速排序的复杂度较低

给定两个已分别排序好的列表mylst1,mylst2,两者的长度分别为mn为已知,现要查找两表合并后的中位数,问最好的查找方式的时间复杂度?(可以理解为,查找alist=sorted(mylst1+mylst2)的中位数的时间复杂度)

给定两个已分别排序好的列表mylst1,mylst2,两者的长度分别为mn为已知,现要查找两表合并后的中位数,问最好的查找方式的时间复杂度?(可以理解为,查找alist=sorted(mylst1+mylst2)的中位数的时间复杂度)
A.O(m^2)B.O(mn)C.O(mlogn)D.O(logm)E.O(nlogm)正确答案:O(logm)