微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

合并子数组的 mergeSort 背后的逻辑是什么?

如何解决合并子数组的 mergeSort 背后的逻辑是什么?

我一直在寻找堆栈逻辑形式的合并排序的可视化表示。由于我们递归地调用函数,因此我无法确定如何进一步合并已排序的子数组。据我了解,我们首先将问题分解为子问题。我们通过调用 MergeSort 算法来做到这一点,该算法通过使用分割子数组的开始和结束索引调用自身来递归工作。然后我们调用对数组元素进行排序的 Merge 函数。然而我无法理解的是,在进行递归调用之后,我们来到了对元素进行排序的地步。在这部分中,我们创建了 2 个数组,其大小与我们从函数发送的参数大小相同,该函数用于将数组分成小块。

那么,在对最小数组进行排序之后,我们如何将新排序的数组与我们已经排序的数组结合起来?

如果我的问题有问题,我真的很抱歉。由于我对这部分感到困惑和迷失,所以我有很多问题。因此,我可能不清楚。

解决方法

这里是归并排序的可视化表示,请大家看一看,你就会清楚地了解归并排序的逻辑。链接:https://www.hackerearth.com/practice/algorithms/sorting/merge-sort/visualize/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。