归并排序——java
发布日期:2021-06-07 05:56:25
浏览次数:5
分类:技术文章
本文共 737 字,大约阅读时间需要 2 分钟。
归并排序
时间复杂度:O(n*log2(n)) 空间复杂度:O(n) 稳定 核心代码/** * 归并排序 * @author jin */public class Merge { /** * 使用递归的方法对原数组进行分组 * @param array * @param left * @param right */ public static void sort(int[] array,int left,int right){ if(left
归并排序是将数组分为若干子数组,这些子数组是有序的,然后把子数组合并为整体的有序数组。
步骤: (1)先进行分组,直到每组的长度为1为止,需要用到递归;void sort(int[] a,int left,int right){ if(left
(2)合并子数组,先把小点的元素放入临时数组,再把大点的元素放入临时数组,等到都放入临时数组后,再把临时数组中的数据给原数组,完成排序。
void merge(int[] a,int left,int mid,int right){ int[] tmpArr=new int[a.length];//设置一个临时数组 int tmpIndex=left;//临时数组的首索引 int index=left;//原数组的首索引 int rightIndex=mid+1;//右数组的首索引 while(left<=mid&&rightIndex<=right){ //当左数组的索引不大于中间索引,并且右索引不大于末索引时,循环 if(a[left]
转载地址:https://blog.csdn.net/Levi_moon/article/details/51477148 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年03月27日 04时00分05秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
使用 SpringBoot 写增删改查接口
2021-06-30
初步使用 JFreeChart 生成报表与感受
2021-06-30
前端使用 BootStrap 写一些后台常用的界面
2021-06-30
使用 SpringBoot + Ckeditor 富文本编辑器、图片上传
2021-06-30
全栈式使用 SpringBoot + SpringSecurity 做登录认证
2021-06-30
[Java爬虫] 使用 Jsoup + HttpClient 爬取网页图片
2021-06-30
使用 Git 并借助 Eclipse + Coding 合作开发项目
2021-06-30
[Java爬虫] 使用 Xpath + HtmlUnit 爬取网页基本信息
2021-06-30
[人工智能] 使用百度 API 读取身份证照片的文字
2021-06-30
在SpringBoot中使用【阿里云OSS对象存储】存取图片
2021-06-30
[Java爬虫] 使用 HtmlUnit + Xpath 模拟点击、动态获取信息
2021-06-30
使用 SpringBoot 之 JPA 整合 Redis 实现缓存
2021-06-30
SpringBoot 结合 JSR303 对前端数据进行校验
2021-06-30
[Python爬虫] 模拟浏览器、代理ip、开启日志、超时处理、异常处理、登录、下载图片
2021-06-30
《学习 Go 语言》学习心得
2021-06-30
[汇编语言] 带有颜色的字符串显示(hello world 级别程序)
2021-06-30
[增删改查] Python 之使用 Django + LayUI 做后台管理
2021-06-30