介绍
本篇文章给大家分享的是有关python中归并排序的原理是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强> 1,基本思路强>
归纳排序是采用分治法的非常典型的应用。归并排序的思想是先归还分解组,然后合并组。基本构想是将数组分解到最小,然后合并两个有序数组,基本构想是比较两个数组的最前面的数量,谁小就先取谁,取后取相应的指针后移。然后进行比较,直到一个组是空的,最后复制另一个组的剩馀部分即可。
<强> 2,实例强>
#,归并排序 def merge_sort(倾斜的): ,,,& # 39;& # 39;& # 39;归并排序& # 39;& # 39;& # 39; ,,,n =, len(倾斜的) ,,,if n & lt;=, 1: ,,,,,,,return 倾斜的 ,,,: ,,,,,,,mid =, n //2 ,,,,,,,#,left 表示采用归并排序后形成的有序的新的列的表 ,,,,,,,left_li =, merge_sort(倾斜的中期[:]) , ,,,,,,,#,right 表示采用归并排序后形成的有序的新的列的表 ,,,,,,,right_li =, merge_sort(倾斜的[中期:]) , ,,,,,,,#,将两个有序的子序列合并成一个新的整体 ,,,,,,,#,合并(左、右) ,,,,,,,,left_pointer right_pointer =0,0 ,,,,,,,result =, [] ,,,,,,,while left_pointer & lt;, len (left_li),以及right_pointer & lt;, len (right_li): ,,,,,,,,,,,if left_li [left_pointer], & lt;=, right_li [right_pointer]: ,,,,,,,,,,,,,,,result.append (left_li [left_pointer]) ,,,,,,,,,,,,,,,left_pointer +=1 ,,,,,,,,,,,其他的: ,,,,,,,,,,,,,,,result.append (right_li [right_pointer]) ,,,,,,,,,,,,,,,right_pointer +=1 , ,,,,,,,result +=, left_li [left_pointer:] ,,,,,,,result +=, right_li [right_pointer:] ,,,,,,,return 结果 , if __name__ ==, & # 39; __main__ # 39;: ,,,alist =,(54岁,26岁,93年,17日,77年,31日,44岁,55岁,20) ,,,印刷(倾斜的) ,,,sorted_alist =, merge_sort(倾斜的) ,,,打印(sorted_alist)
Python的优点有哪些
1,简单易用,与C/c++、Java、c#等传统语言相比,Python对代码格式的要求没有那么严格;2,Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3,Python面向对象,能够支持面向过程编程,也支持面向对象编程;4,Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5,Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
以上就是Python中归并排序的原理是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。