python中归并排序的原理是什么

  介绍

本篇文章给大家分享的是有关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中归并排序的原理是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

python中归并排序的原理是什么