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

排序问题中的分治算法——归并排序

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

排序问题中的分治算法——归并排序

目录
  • 一、问题描述
  • 二、分治策略
  • 三、算法举例
  • 四、复杂度

一、问题描述

应用归并排序方法对一个规模为n的记录序列进行升序排序.
排序数组a[0:n-1]
待排序区间[left,right]

二、分治策略

1)划分:
将要排序序列划分为两个长度大致相等的子序列
如果,left=right只有一个,无需排序,算法结束
否则,计算划分中的:mid=(left+right)/2

2)求解子问题
对前半个子序列a[0]~a[mid]进行升序排序
对后半个子序列a[mid+1]~a[right]进行升序排序
3)合并
归并两个有序子序列合成一个有序序列。

三、算法举例

四、复杂度

时间复杂度始终是O(nlog2n)
空间复杂度为O(n)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/314763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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