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

开封网站制作/市场调研方案怎么写

开封网站制作,市场调研方案怎么写,云南网络公司网站,wordpress拖动归并排序是一种分治算法(Divide and Conquer)。对于给定的一组数据,利用递归与分治技术将数据序列划分成为越来越小的半子表,在对半子表排序后,再用递归方法将排好序的半子表合并成为越来越大的有序序列。 核心思想 分…

归并排序是一种分治算法(Divide and Conquer)。对于给定的一组数据,利用递归与分治技术将数据序列划分成为越来越小的半子表,在对半子表排序后,再用递归方法将排好序的半子表合并成为越来越大的有序序列。

核心思想

  1. 分解(Divide):将数组递归地分成两半,直到子数组长度为 1。

  2. 合并(Merge):将两个已排序的子数组合并成一个有序数组。

合并的过程

 代码实现

package Sort;import java.util.Arrays;public class MergeSort {public static void main(String[] args) {int[] res = getMergeSort(new int[]{8,5,7,9,1,6,3,4,2});for (int i = 0; i < res.length; i++) {System.out.print(res[i]+" ");}}//使用递归实现归并排序,升序public static int[] getMergeSort(int[] nums){if (nums.length<2) return nums;//切分数组,然后递归排序,并用merge合并int mid = nums.length/2;int[] leftNums = Arrays.copyOfRange(nums,0,mid);int[] rightNums = Arrays.copyOfRange(nums,mid,nums.length);return merge(getMergeSort(leftNums),getMergeSort(rightNums));}public static int[] merge(int[] leftNums,int[] rightNums){int[] result = new int[leftNums.length + rightNums.length];for (int index = 0, i = 0, j = 0; index < result.length ; index ++) {if (i>=leftNums.length){// 左边数组已经取完,那就完全取右边数组即可result[index] = rightNums[j++];} else if (j>=rightNums.length) { // 右边数组已经取完,那就完全取左边即可result[index] = leftNums[i++];} else if (rightNums[j] < leftNums[i]) { // 升序:右边数组的元素小于左边数组,取右边数组的值result[index] = rightNums[j++];}else { // 升序:左边数组的元素小于右边数组,取左边数组的值result[index] = leftNums[i++];}}return result;}}

时间复杂度分析

情况时间复杂度说明
最坏情况O(n log n)无论输入数据如何分布,都必须完整执行所有分解和合并操作
最好情况O(n log n)即使输入已经有序,仍需进行全部合并操作
平均情况O(n log n)算法性能稳定,不受输入数据分布影响

空间复杂度分析

组成部分空间消耗说明
临时数组O(n)合并操作需要与原始数组等大的临时存储空间
递归调用栈O(log n)递归深度为 log₂n,每层递归需要保存常数级的参数
总空间O(n)临时数组的空间占用主导(通常说的空间复杂度指除输入外的额外空间需求)
http://www.whsansanxincailiao.cn/news/31996488.html

相关文章:

  • 广东工程建设信息网站/20条优化措施
  • 快速建站平台源码/semi认证
  • wordpress对接支付接口/seo发包排名软件
  • 做英文兼职的网站/创建网站免费注册
  • 黄村做网站哪家快/编程培训机构排名前十
  • 荆州企业网站建设/seo标题优化分析范文
  • 开源公司网站/百度快速优化软件
  • 手机搭建电脑做的网站/友链交易平台
  • 用360云盘做网站/百度有刷排名软件
  • 如何提升网站排名/国内最新消息
  • 网站域名如何备案/海外推广营销 平台
  • 淮安做网站.卓越凯欣/百度一下你就知道官页
  • 建设网站广州/新闻源软文推广平台
  • wordpress负载均衡https/深圳最好的外贸seo培训
  • 大型网站建设优化排名/广告联盟app下载
  • odoo 网站页面怎么做/微博营销软件
  • 怎么设置网站名称/企业网络营销业务
  • 论坛门户网站建设/关键词排名的工具
  • 哪个网站可以做推手/郑州seo优化外包公司
  • 有哪些网站可以免费做推广的/国内免费二级域名建站
  • 手机h5网站模板下载/怎么创建一个网站
  • 大连做网站需要多少钱/seo整站优化服务教程
  • 环保油 东莞网站建设/推广的软件有哪些
  • 安徽网站开发/视频广告联盟平台
  • 单页网站网址/免费com网站域名注册
  • 网站建设 网站开发 区别/百度自然搜索排名优化
  • 一个网站建设的成本/安卓aso
  • 搜狗seo优化/吉林seo外包
  • 滁州网站建设czesou/青岛关键词排名系统
  • 英文网站标题字体/seo软件安卓版