排序算法python版(5)-归并排序算法(python各种排序算法)

网友投稿 294 2022-08-23


排序算法python版(5)-归并排序算法(python各种排序算法)

具体代码实现如下:

def merge_sort(datas): if len(datas)<=1: return datas mid=len(datas)//2 left=merge_sort(datas[:mid]) right=merge_sort(datas[mid:]) return merge(left,right)def merge(left,right): datas=[] i=0 j=0 while i

执行结果如下:

----------------------------------------------------------------------------------left: [10]right: [9]datas: [9, 10]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [7]right: [6]datas: [6, 7]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [8]right: [6, 7]datas: [6, 7, 8]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [9, 10]right: [6, 7, 8]datas: [6, 7, 8, 9, 10]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [4]right: [3]datas: [3, 4]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [5]right: [3, 4]datas: [3, 4, 5]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [1]right: [0]datas: [0, 1]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [2]right: [0, 1]datas: [0, 1, 2]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [3, 4, 5]right: [0, 1, 2]datas: [0, 1, 2, 3, 4, 5]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [6, 7, 8, 9, 10]right: [0, 1, 2, 3, 4, 5]datas: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]-----------------------------------------------------------------------------------经过归并排序后结果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

最好的情况下

def merge_sort(datas): if len(datas)<=1: return datas mid=len(datas)//2 left=merge_sort(datas[:mid]) right=merge_sort(datas[mid:]) return merge(left,right)def merge(left,right): datas=[] i=0 j=0 while i

执行结果如下:

-----------------------------------------------------------------------------------left: [0]right: [1]datas: [0, 1]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [3]right: [4]datas: [3, 4]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [2]right: [3, 4]datas: [2, 3, 4]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [0, 1]right: [2, 3, 4]datas: [0, 1, 2, 3, 4]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [6]right: [7]datas: [6, 7]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [5]right: [6, 7]datas: [5, 6, 7]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [9]right: [10]datas: [9, 10]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [8]right: [9, 10]datas: [8, 9, 10]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [5, 6, 7]right: [8, 9, 10]datas: [5, 6, 7, 8, 9, 10]----------------------------------------------------------------------------------------------------------------------------------------------------------------------left: [0, 1, 2, 3, 4]right: [5, 6, 7, 8, 9, 10]datas: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]-----------------------------------------------------------------------------------经过归并排序后结果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java实现各种文件类型转换方式(收藏)
下一篇:排序算法python版(3)-插入排序算法(python选择排序算法图解)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~