归并排序的一点理解

本文深入探讨归并排序算法,解析其背后的递归原理,通过实例讲解如何将数组分解为单个元素再进行两两合并,实现稳定排序。

说归并排序之前我们需要理解一个概念就是递归,什么是递归,其实递归在我们生活也比较常见,我用我自身遇到过的事情来给大家举个栗子,比如我平时遇到不懂的概念总会去查百度百科,当我在看答案的时候发现又有一些名词是我不认识,我就又先去看一个这个名词是什么意思,当我看这个名词的时候,我发现这个名词对应的解释也有一些专用名词也不是太懂,然后我又去查这些不懂的专用名词,当我把这个专有名词看懂后,我在逐层的往回看,最终理解了我刚开始想看的概念。

在这里插入图片描述
根据上面图,我们先写一段代码,如何合并两个有序的数组。
在这里插入图片描述
简单的画了一归并排序的递归图。
在这里插入图片描述

整个归并排序的思想就是分治法,将数组分解成单个元素,单个元素肯定就是有序的,然后在两两合并,自己根据思想写了如下代码。验证了一下是可以的。
在这里插入图片描述
在这里插入图片描述
归并排序是稳定的 通过归并排序排序之后,相同元素靠在前面的元素依然在前面,当然这跟我们的写法有关系,不知道我这样理解对不对,对于任何一种排序,我们可能有不同的写法,如果有一种写法对于一种特定的排序能够实现稳定性,那这种排序算法就是稳定的,如果对于一种排序不管怎么写他都不能实现稳定性,那这种算法就不是稳定的,不知道这种理解对不对,后续我们随着理解的加深,我们来验证下。
学习不再三更五谷,功只怕一曝十寒。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值