归并算法

技术归并算法 归并算法归并算法采用了分而治之的思想,具体的内容懂的都懂,不懂的也不需要明白,看代码就完事了。
public class guibing { public static int[]

归并算法

归并算法采用了分而治之的思想,具体的内容懂的都懂,不懂的也不需要明白,看代码就完事了。

公共类桂兵{

public static int[]arr=new int[]{ 8,6,4,7,3,2,5,1 };

公共静态int[]guibing(int[]arr){ 0

//先定义最开始的最左下标和最右下标0和右侧七

int left=0;

int right=arr。长度-1;

int[] narr=sort(arr,左,右);

返回纳尔

}

私有静态int[]排序(int[] arr,int left,int right){ 0

//递归分治,将序列按照左右划分为一个个子序列,最小子序列长度为1,这时左下标等于右下标

//左节点

如果(左==右){ 0

//当分到不能再分时,进行合并,返回一个最小的数组为1,

//这种方法将会创建n n/2 n/4 n/8个数组,非常耗费资源,不推荐使用,但是容易理解

//可以进行优化,直接创建尺寸/2大小的临时数组进行储存即可

返回新的int[]{ arr[left]};

}

int l1=左侧;

int r1=(右左-1)/2;

int L2=R1 1;

int r2=右;

//递归分治,将会使左右的下标都被标记到

int[] arrleft=sort(arr,l1,R1);

int[] arrright=sort(arr,l2,R2);

返回mergn(arrleft,arr right);

}

私有静态int[] mergn(int[] arrleft,int[]arr right){ 0

//合并,使用双指针法进行合并,左小则插左进新数组然后我,右小则插右然后r

int[]narr=new int[arr left。长度向左。长度];

int l=0;

int r=0;

for(int I=0;长度;I){ 0

if(l=arr左。长度){ 0

narr[I]=arr right[r];

继续;

}

if(r=arr右。长度){ 0

narr[I]=arr left[l];

继续;

}

if (arrleft[l]=arrright[r]){

narr[I]=arr left[l];

继续;

}

if (arrleft[l]arrright[r]){

narr[I]=arr right[r];

继续;

}

}

返回纳尔

}

公共静态void main(String[]参数){ 0

int[]arrs=guibing(arr);

for(int I=0;长度;I){ 0

系统。出去。println(arrs[I]);

}

}

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/139156.html

(0)

相关推荐

  • 脚背穴位,肾囊肿吃什么中药比较管用

    技术脚背穴位,肾囊肿吃什么中药比较管用我是医者良言脚背穴位,是一名住院医师,专为普及医学知识造福人类健康,若想了解更多,请关注我,有疑问可留言,必回应!肾囊肿吃什么中药比较好?其实肾囊肿的发病率不低,很多人是在做肝胆胰脾

    生活 2021年10月23日
  • 如何用Python爬取酷我音乐

    技术如何用Python爬取酷我音乐如何用Python爬取酷我音乐,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前两天听了一下酷我音乐官网的音

    攻略 2021年10月26日
  • int和Integer缓存的实现是怎样的

    技术int和Integer缓存的实现是怎样的今天就跟大家聊聊有关int和Integer缓存的实现是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。int相信我

    攻略 2021年11月24日
  • 全网最新的Log4j漏洞修复和临时补救方法是什么?

    技术全网最新Log4j 漏洞修复和临时补救方法是什么这篇文章给大家介绍全网最新Log4j 漏洞修复和临时补救方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 漏洞评级及影响版本Apach

    攻略 2021年12月15日
  • 4种常用Java线程锁的特点和使用场景以及性能比较

    技术4种常用Java线程锁的特点和使用场景以及性能比较4种常用Java线程锁的特点和使用场景以及性能比较,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能

    攻略 2021年10月20日
  • GWAS分析中协变量的处理是怎样的

    技术GWAS分析中协变量的处理是怎样的本篇文章为大家展示了GWAS分析中协变量的处理是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 背景在回归分析时,有时候我们需要知

    攻略 2021年12月10日