栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于分治策略的合并排序算法解决问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于分治策略的合并排序算法解决问题

题目:给定一个包含n个元素的一维线性序列a[left:right],对这n个元素按照非递减顺序排序。设a=[23,5,9,16,30,25,17,18],采用基于分治策略的合并排序算法解决该问题。

(a)简述合并排序算法基本思想以及步骤。

(b)写出算法实现代码并截屏程序的运行结果。

(c)写出该算法所需计算时间的递归方程,并写出求解结果。

(a)合并排序算法基本思路:

首先将n个待排序元素分成两个规模大致相同的子数组。如果子数组规模依然较大(不为单元素时),那么继续分割子数组,当子数组只包含单元素时,认为单元素数组本身已经排序好,这时将相邻的两个有序子数组两两合并成所要求的有序序列,算法终止。

步骤:

    初始化时,left=0,right=7.先将待排序数组分割成两个规模一样的子数组,i=(left+right)/2=3,分割位置为3,分成两个子数组a[0:3],a[4:7]; 对于左子数组a[0:3],left=0,right=3.继续分割,i=(left+right)/2=1,分割位置为1,得到a[0:1],a[2:3]两个数组。 对于a[0:1],a[2:3]两个数组
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763325.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号