归并排序及小和问题(上)

简介: 归并排序及小和问题(上)

归并排序mergeSort


image.png

先让左侧部分排好序

变成了1,2,3

再让右侧部分排好序

变成了2,5,6


image.png

怎么样让它整体都有序呢

merge在一起就行了

image.png

准备一个辅助空间 谁小拷贝谁

左侧下标指向1

右侧下标指向2

左侧如果小于等于右侧

先拷贝左侧的

如果右侧小于左侧

则先拷贝右侧

如图 1小拷贝1 指针往下动


image.png

相等的时候 默认拷贝左边的 指针再往右动


image.png

3>2 右侧小拷贝右边的 指针往右动

image.png

3<5 拷贝3 指针越界 将剩下的拷贝过来

image.png

小结

左侧部分排好序

右侧部分排好序

利用merge的过程 使得整体都有序

在辅助空间有序了 再拷贝回原数组

image.png

image.png

1、L=R 就一个数 return

2、先左侧排序

3、再右侧排序

4、此时整体还无序

所以有一个merge的过程

image.png

整个范围是L~R

左侧范围是L~M

右侧范围是M+1 ~ R

所有用L、M、R表示2个区域的意思

左侧和右侧各自都有序了

再来看下merge的过程

a、先准备一个辅助空间help

L-R上一共有多少个数 就开多大的空间

image.png

i 这个 变量专门给help使用的

image.png

相关文章
|
存储 网络协议 安全
Internet Protocol(二)
Internet Protocol
246 0
|
7月前
|
监控 关系型数据库 MySQL
索引失效场景(阿里高频踩坑点)
MySQL索引可显著提升查询性能,但存在多种失效场景:数据类型不匹配、索引列使用函数、LIKE以%开头、复合索引未遵循最左前缀、OR条件中部分无索引、NULL值查询、频繁更新导致索引失衡、ORDER BY/GROUP BY未用索引列、配置或版本差异及过度依赖索引。阿里等大厂高频踩坑点需特别警惕。合理设计索引并结合执行计划优化,才能保障高效查询。(238字)
|
运维 监控 安全
计算巢,软件上云最佳实践
2023云栖大会“计算巢专场”精华集锦
数据结构 | 单链表专题【详解】
数据结构 | 单链表专题【详解】
|
存储 开发框架 搜索推荐
「精调细选」企业门户系统软件那个强?
「精调细选」企业门户系统软件那个强?
|
Android开发
Android Studio编译JNI时指定CPU种类
Android Studio编译JNI时指定CPU种类
254 0
|
安全 Linux 虚拟化
来啦!Anolis OS LoongArch预览版发布!助推国产化生态发展
Anolis OS 8.4 LoongArch是全球支持龙芯LoongArch架构的同源异构服务器操作系统。
来啦!Anolis OS LoongArch预览版发布!助推国产化生态发展
Python编程语言学习:判断变量是否为NONE或False的几种常见写法(if not用法教程)
Python编程语言学习:判断变量是否为NONE或False的几种常见写法(if not用法教程)