0
点赞
收藏
分享

微信扫一扫

递归运行流程简介

墨香子儿 2022-03-12 阅读 38

在学习归并排序算法时,发现里面用到了递归,就是一个方法里面调用了这个方法本身,当时卡在这个地方一直看不懂,后来查了一些资料才算勉强知道了怎么运行的,下面就给大家简单说一下我的理解。

先把递归流程图放出来

我们要让数组变的有序,其实就是将[0,1]和[2,3]的值变的有序再合并(先让各个部分有序,最后整体有序),执行MergeSort[0,3]相当于执行了MergeSort[0,1]和MergeSort[2,3]

而[0,1]又是由位置[0,0]和位置[1,1]的数进行比较(Merge方法)后合并成有序的,此时[0,1]位置实现有序,右侧的[2,3]也是如此;

最终左边[0,1]与右边[2,3]都是各自有序的再返回到[0,3]中再进行排序,最后整个数组实现有序

有些同学可能还是比较懵,推荐大家看下这个视频:4-5 通过归并排序算法深入理解递归_哔哩哔哩_bilibili

个人觉得视频讲的比较好,比较容易懂

举报

相关推荐

0 条评论