Algorithm 为什么记忆化不能提高合并排序的运行时间?

Algorithm 为什么记忆化不能提高合并排序的运行时间?,algorithm,dynamic-programming,mergesort,memoization,Algorithm,Dynamic Programming,Mergesort,Memoization,为什么记忆化不能提高合并排序的运行时间 我在作业任务中有这个问题。但据我所知,合并排序使用分治方法(没有重叠的子问题),但记忆是基于动态编程(有重叠的子问题)。我知道合并排序的运行时是O(nlogn) 我甚至在网络搜索引擎上搜索,这个问题没有结果。这个问题错了吗?如果听起来不对,为什么教授在作业中会给出错误的问题? 如果问题没有错,或者我对问题、合并排序和备忘录的理解有误,我应该如何回答这个问题?您已经在问题中给出了答案。备忘录化意味着在解决问题后写一份备忘录,这样当我们再次遇到问题时,我们就用

为什么记忆化不能提高合并排序的运行时间

我在作业任务中有这个问题。但据我所知,合并排序使用分治方法(没有重叠的子问题),但记忆是基于动态编程(有重叠的子问题)。我知道合并排序的运行时是O(nlogn)

我甚至在网络搜索引擎上搜索,这个问题没有结果。这个问题错了吗?如果听起来不对,为什么教授在作业中会给出错误的问题?
如果问题没有错,或者我对问题、合并排序和备忘录的理解有误,我应该如何回答这个问题?

您已经在问题中给出了答案。备忘录化意味着在解决问题后写一份备忘录,这样当我们再次遇到问题时,我们就用备忘录代替再次解决同样的问题


因为在mergesort中,问题不会重叠,所以写备忘是没有用的。

是一种将昂贵函数的结果存储起来以供以后使用的技术。合并排序是一种分而治之的算法,它将问题划分为较小的非重叠子问题。由于函数不重叠,它们只被调用一次,因此记忆不能真正用于优化它,因为它们不需要存储昂贵函数调用的输出以便以后使用,因为它只被调用一次

仔细考虑记忆如何提高性能,这是如何应用于合并排序所使用的操作的。目前还不清楚:记忆是如何应用的?“记忆化”是一个非常普遍的技术的广义术语。而像
记忆这样的短语是基于动态编程的
完全不传递任何信息。它们只是流行语,我的意思是O(nlogn)