位置: 编程技术 - 正文

Python编程中归并排序算法的实现步骤详解(归并代码)

编辑:rootadmin

推荐整理分享Python编程中归并排序算法的实现步骤详解(归并代码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python数据合并的主要函数有哪些?,归并算法python,python合并数据集,python 归并排序详解,归并算法python,python数据合并的主要函数有哪些?,python中的并,python 归并排序详解,内容如对您有帮助,希望把文章链接给更多的朋友!

基本思想:归并排序是一种典型的分治思想,把一个无序列表一分为二,对每个子序列再一分为二,继续下去,直到无法再进行划分为止。然后,就开始合并的过程,对每个子序列和另外一个子序列的元素进行比较,依次把小元素放入结果序列中进行合并,最终完成归并排序。归并操作过程:

申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列设定两个指针,最初位置分别为两个已经排序序列的起始位置比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置重复步骤3直到某一指针达到序列尾将另一序列剩下的所有元素直接复制到合并序列尾上述说法是理论表述,下面用一个实际例子说明:

例如一个无序数组

首先将这个数组通过递归方式进行分解,直到:

然后开始合并排序,也是用递归的方式进行:

两个两个合并排序,得到:

上一步中,其实也是按照本步骤的方式合并的,只不过由于每个list中一个数,不能完全显示过程。下面则可以完全显示过程。

初始:

Python编程中归并排序算法的实现步骤详解(归并代码)

第1步,顺序从a,b中取出一个数字:2,1 比较大小后放入c中,并将该数字从原list中删除,结果是:

第2步,继续从a,b中按照顺序取出数字,也就是重复上面步骤,这次是:2,3 比较大小后放入c中,并将该数字从原list中删除,结果是:

第3步,再重复前边的步骤,结果是:

最后一步,将6追加到c中,结果形成了:

通过反复应用上面的流程,实现[1,2,3,6]与[7]的合并

最终得到排序结果

本文列举了三种python的实现方法:

方法1:将前面讲述的过程翻译过来了,略先拙笨

方法2:在按照顺序取数值方面,应用了list.pop()方法,代码更紧凑简洁

方法3:原来在python的模块heapq中就提供了归并排序的方法,只要将分解后的结果导入该方法即可。

使用Python判断质数(素数)的简单方法讲解 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的

Python环境下搭建属于自己的pip源的教程 一、安装pip2pi工具:pipinstallpip2pi或:

Python使用Paramiko模块编写脚本进行远程服务器操作 简介:paramiko是python(2.2或更高)的模块,遵循SSH2协议实现了安全(加密和认证)连接远程机器。安装所需软件包:

标签: 归并代码

本文链接地址:https://www.jiuchutong.com/biancheng/386144.html 转载请保留说明!

上一篇:Python手机号码归属地查询代码(python 电话号码)

下一篇:使用Python判断质数(素数)的简单方法讲解(python函数判断质数)

  • 职工薪酬如何做账
  • 冲红电子发票是什么意思
  • 小规模纳税人利润如何缴税
  • 收入 合同
  • 盘盈的固定资产怎么做账务处理
  • 运输服务增值税纳税义务发生时间
  • 法人变更注册资金降低以前的债务怎么处理
  • 调整跨期收入是否调增值税
  • 小微企业银行贷款印花税
  • 预付款对应的会计科目
  • 车间设备维修费计入制造费用吗
  • 企业发票入账冲销流程
  • 行政单位的存货是什么
  • 以股权转让名义转让土地使用权
  • 砂子开票税率
  • 企业的资金怎么使用
  • 一般纳税人转为小规模2022政策
  • 进口车关税怎么抵扣
  • 百旺税控怎么赋码
  • 公允价值变动损益怎么算出来的
  • 主营业务成本如何算
  • php实现上传图片功能
  • 笔记本电池的正负极区分
  • 上一年度的费用能入今年账吗
  • 进项税额转出会计分录福利费
  • 投标保证金退回的利息计入什么费用
  • 应付账款讲解
  • 发票开具时限是怎么规定的
  • 房开企业增值税扣除土地价款包括契税吗
  • 蔚蓝色的海王星是什么歌
  • 微信公众平台的名词解释
  • 蜈蚣什么情况下出现
  • 2021vue面试
  • deepsort 跟踪
  • Pytorch深度学习实战3-7:详解数据加载DataLoader与模型处理
  • php判断文件是否存在的函数
  • 扣发工资是发还是不发
  • 电子承兑利息
  • 企业用户怎么在电脑登录
  • 非货币性资产交换的记忆口诀
  • 调整以前年度少计收入
  • 影响企业营业利润的有哪些
  • 员工出差报销补贴政策
  • 调整事宜
  • 营改增之后是不是就没有营业税了
  • 员工在异地缴纳社保,公司还能上吗
  • 政府给企业的奖励能给个人吗
  • 不是公司股东的情况说明模板
  • 企业支付的产品和物资的原始价格是采购成本中的
  • 人力资源公司的盈利模式
  • 企业进项税额如何账务处理
  • 金蝶的数量金额明细账是怎么做的
  • 企业以原有公司为主体
  • 可供出售金融资产和交易性金融资产
  • 没有发票就不能保修吗
  • 单位购入车辆能抵扣吗
  • 新成立的分公司怎么样
  • 出纳的现金日记账表格怎么做
  • sql is in
  • winds密码忘记了
  • 查看linux服务器内存命令
  • win7 光盘
  • win7硬盘设置在哪里设置
  • ubuntu 操作系统
  • ubuntu中如何设置克隆屏
  • linux文件详解
  • win10系统免费升级
  • 安装win8.1一直卡着不动
  • windows7开机启动
  • 红宝书csv
  • python语言怎么用
  • javascript高级程序设计第五版 pdf下载
  • js显示word
  • 安卓手机管家是什么
  • javascript 对象的this指向
  • 有哪些比较好的android的框架
  • 小规模纳税人忘记作废发票导致超过免税范围
  • 锦江区税务局搬迁新地址
  • 广州市国税咨询电话
  • 广东电子税务局官网登录入口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设