数据结构–归并排序(复习)

对于归并排序而言,最基本的类型是2-路归并,具体来说就是将待排序序列中前后两个相邻的有序序列归并为一个有序序列,注意,这里的两个序列都需要是有序的,两个无序的序列是无法归并的。但是很多时候待排序的数组中并没有现成的两个有序子数组供归并排序,这时候就需要人为制造局部有序的数组,在数组的每一个小区间都人为制造出有序数组,就可以从局部到整体,积少成多的将整个数组变为有序,这就是归并排序的思路。
注:按照归并排序的思路,对于两个有序数组而言,如果直接将元素插入到它在排序后应该在的位置上,那势必会覆盖掉原来的元素,因此在使用归并排序时,需要额外申请一块空间,将数组中的元素按顺序放到新申请的空间后,在将新空间中的元素原封不动的拷贝回原数组。因此归并排序的空间复杂度较高,这时它的缺点。
1,用递归方法实现归并排序:递归的上楼阶段是将数组分割为一个一个的小数组,直到每一个小数组中都只有一个元素为止(由于归并排序要求两个待排序的小数组需要有序,而待处理的数组是无序的,但是,一个元素组成的数组一定是有序的,因此我只需要保证将数组分割成一个一个的只有一个元素的小

数据结构–归并排序(复习)最先出现在Python成神之路

版权声明:
作者:玉兰
链接:https://www.techfm.club/p/16354.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>