排序算法python版(1)-冒泡排序算法(冒泡排序算法Python)
355
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~