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

Why does memoization not improve the runtime of Merge Sort?

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

我有来自作业任务的这个问题。但据我所知,合并排序使用分而治之的方法(没有重叠的子问题),而记忆化是基于动态规划的(有重叠的子问题)。我知道合并排序的运行时间是 O(nlogn) .

我什至在网络搜索引擎上搜索过这个问题也没有结果。这个问题错了吗?如果这听起来不对,但为什么教授会在作业中给出错误的问题呢? 如果问题没有错或者我对问题的理解 Merge Sort and Memoization 是错误的,我应该怎么回答这个问题?

您已经在问题中给出了答案。 Memoization意思是在解决一个问题后写一个备忘录,这样当我们再次遇到问题时,我们使用备忘录而不是再次解决同样的问题。

既然mergesort,问题不重叠,写个备忘录也没用。

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