当前位置: 首页 > news >正文

宁波网站设计建站服务公司/好的推广平台

宁波网站设计建站服务公司,好的推广平台,中国多少个省份31个省,页面访问将在5秒后自动跳转一、归并排序 本节讨论分治策略在排序中的应用。 归并排序是递归算法,思路是将数据表持续分裂为两半,对两半分别进行归并排序。 递归的基本结束条件是:数据项仅有一个数据项,自然是排好序的。 缩小规模:将数据分裂…

一、归并排序

本节讨论分治策略在排序中的应用。

归并排序是递归算法,思路是将数据表持续分裂为两半,对两半分别进行归并排序。

递归的基本结束条件是:数据项仅有一个数据项,自然是排好序的。

缩小规模:将数据分裂为相等的两半,规模减为原来的二分之一;

调用自身:将两半分别调用自身排序,然后将分别排好序的两半进行归并,得到排好序的数据表。

代码:

def merge_sort(lst):if len(lst) <= 1:return lstmiddle = len(lst) // 2left = merge_sort(lst[:middle])right = merge_sort(lst[middle:])merged = []while left and right:if left[0] <= right[0]:merged.append(left.pop(0))else:merged.append(right.pop(0))merged.extend(right if right else left)return merged

二、算法分析

将归并排序分为两个过程来分析:分裂和归并

分裂的过程,借鉴二分查找中的分析结果,是对数复杂度,时间复杂度为O(log n)。

归并的过程,相对于分裂的每个部分,其所有的数据项都会被比较和放置一次,所以是线性复杂度,其复杂度是O(n)。

综合考虑,每次分裂的部分都进行一次O(n)数据项归并,总的时间复杂度是O(nlong n)。

最后,我们还注意到两个切片操作。

为了时间复杂度精确期间,可以通过取消切片操作,改为传递两个分裂部分的起始点和中指点,也是没问题的,只是算法的可读性会低一点。

我们注意到归并排序算法使用了额外1倍的存储空间用于归并。这个特性在对特大数据集进行排序的时候要考虑进去。

 

 

http://www.jmfq.cn/news/5088655.html

相关文章:

  • 电脑上制作网站的软件/网络营销策略是什么
  • 电子业网站建设/网站关键词优化教程
  • 自适应网站导航是怎么做的/外链互换平台
  • 做pc端的网站首页尺寸是多少/bt磁力王
  • 杭州政府网站建设/重庆seo关键词优化服务
  • wordpress rss静态化/seo优化怎么做
  • ubuntu vps wordpress/网站内部优化有哪些内容
  • 万万州州微微网站网站建建设设/手机关键词点击排名软件
  • 定州市住房和建设局网站/整站优化seo
  • 广东省建设工程执业中心网站/整合营销案例
  • 做律师事务所网站/百度广告费
  • 大型电子商务网站建设公司/网络热词2021流行语
  • 宝鸡做网站公司/北京优化推广公司
  • 自己建网站做外贸/seo和sem的区别
  • 发布网站需要备案/我想做网络推广找谁
  • 网站公众平台建设方案/seo优化一般多少钱
  • 黄埔b2b网站建设公司/全球最牛的搜索引擎
  • 江油建设局网站/seo推广策划
  • 网站浮动窗口怎么设置/网络营销策划推广公司
  • 网站建设技术方面/哪个平台可以接推广任务
  • 做网站的怎么获取客户信息/企业培训体系
  • 清华大学精品课程网站/达内教育
  • 香港即时新闻最新消息/搜索引擎seo关键词优化
  • 陕西营销型网站建设公司/互联网电商平台
  • 图书馆网站建设/昆山网站建设
  • 网站开发设计的技术/营销型网站和普通网站
  • 济宁网上做科目一的网站/怎么开网店新手入门
  • 东莞市住房建设局网站/怎么创建自己的网站平台
  • vps做电影网站/seo工作职位
  • 在网站后台设置wap模板目录/品牌咨询