Python3 notes

简介: Python3 notes

Python 归并排序


参考方法:

def merge(s1,s2,s):

   """将两个列表是s1,s2按顺序融合为一个列表s,s为原列表"""

   # j和i就相当于两个指向的位置,i指s1,j指s2

   i = j =0

   while i+j<len(s):

       # j==len(s2)时说明s2走完了,或者s1没走完并且s1中该位置是最小的

       if j==len(s2)or(i<len(s1)and s1[i]<s2[j]):

           s[i+j]= s1[i]

           i +=1

       else:

           s[i+j]= s2[j]

           j +=1


def merge_sort(s):

   """归并排序"""

   n = len(s)

   # 剩一个或没有直接返回,不用排序

   if n <2:

       return

   # 拆分

   mid = n // 2

   s1 = s[0:mid]

   s2 = s[mid:n]

   # 子序列递归调用排序

   merge_sort(s1)

   merge_sort(s2)

   # 合并

   merge(s1,s2,s)



if __name__ =='__main__':

   s =[1,7,3,5,4]

   merge_sort(s)

   print(s)

相关文章
|
8月前
|
SQL 数据库连接 Python
Python3 notes
Python3 notes
|
前端开发
#yyds干货盘点# 前端歌谣的刷题之路-第六十九题-根据id获取元素
#yyds干货盘点# 前端歌谣的刷题之路-第六十九题-根据id获取元素
89 0
#yyds干货盘点# 前端歌谣的刷题之路-第六十九题-根据id获取元素
|
存储 数据可视化 API
70个注意的Python小Notes
Python读书笔记:70个注意的小Notes 作者:白宁超 2018年7月9日10:58:18 摘要:在阅读python相关书籍中,对其进行简单的笔记纪要。旨在注意一些细节问题,在今后项目中灵活运用,并对部分小notes进行代码标注。
1361 0
|
关系型数据库 测试技术 PHP
|
关系型数据库 MySQL
|
Linux
从Linux内核中获取真随机数【转】
转自:http://www.cnblogs.com/bigship/archive/2010/04/04/1704228.html 内核随机数产生器 Linux内核实现了一个随机数产生器,从理论上说这个随机数产生器产生的是真随机数。
1085 0
|
12天前
|
弹性计算 人工智能 安全
对话 | ECS如何构筑企业上云的第一道安全防线
随着中小企业加速上云,数据泄露、网络攻击等安全威胁日益严重。阿里云推出深度访谈栏目,汇聚产品技术专家,探讨云上安全问题及应对策略。首期节目聚焦ECS安全性,提出三道防线:数据安全、网络安全和身份认证与权限管理,确保用户在云端的数据主权和业务稳定。此外,阿里云还推出了“ECS 99套餐”,以高性价比提供全面的安全保障,帮助中小企业安全上云。
201894 14
对话 | ECS如何构筑企业上云的第一道安全防线
|
4天前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
|
1天前
|
供应链 监控 安全