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

归并排序——保研刷题随记

(如果误入这篇帖子,不建议将其作为讲解帖学习,因为本质是自我复盘而非讲解向,所以比较粗糙且极有可能有错误,如发现错误,恳请指正)
归并排序的核心思想是:分而治之
顶层思想计算步骤:
1.对数组从中拆分,两边分别排序得到两个排好的数组。(分)
2.对这两个有序数组合成一个有序数组。(合)
对于1.我们采用递归思想。对于2.我们采用双指针以及一个tem数组。具体实施步骤(以升序排序为例):分别指向两个数组的头部的指针相互比较数值,更小的那个可以放进tem,然后顺势向后移动,继续比较,以此类推最终结束于一个指针指向了该数组的最后一个,但是另一个还没有走到,这时候再加一个将另一个的剩余数直接加进tem的操作,最终实现在tem数组中得到有序数列。然后再将tem数组复制到原数组。
时间复杂度:T[n] = 2T[n/2] + O(n)->T[n] = O( nlogn );空间复杂度:n + logn->Q(n)。
代码:
因为写成两个函数太麻烦了 这里合成一个函数:
void merge_sort(int q[], int l, int r)
{
if(l >= r)
return;
int mid = (l+r)/2, k = 0, i = l, j = mid+1, tem[r-l+1];
merge_sort(q, l, mid);
merge_sort(q, mid+1, r);
while(i<=mid&&j<=r)
{
if(q[i]<q[j]) tem[k++] = q[i++];
else tem[k++] = q[j++];
}
while(i<=mid) tem[k++] = q[i++];
while(j<=r) tem[k++] = q[j++];
for(int i = l, k = 0;i <= r; i++, k++)
{
q[i] = tem[k];
}
}

http://www.rkmt.cn/news/1475402.html

相关文章:

  • 昆明购宠全攻略:避坑指南 + 5 家靠谱门店精选 - 资讯速览
  • 企业如何抢占AI时代流量高地?GEO给出新思路
  • 英语语法积累
  • 别再被L298N的供电搞懵了!STM32F103C8T6两种接线方案实测(附代码)
  • 5分钟搞定ESP32蓝牙音频库:打造你的专属蓝牙音箱
  • 杨雨潼111212
  • 梅溪湖情侣周末度假实测|不用远行,在市区收获松弛小假期
  • 昆明黄金回收实测测评:优选正规连锁门店避坑指南 - 奢侈品回收评测
  • 汽车脚垫如何选择?河南本地生产与批发渠道的客观分析(玉如意汽车垫膜工厂)
  • 2026 南京防水补漏 TOP7 商家测评|卫生间 / 外墙 / 屋顶堵漏,附近同城上门优选榜单 - 吉林同城获客
  • 108、【Agent】【OpenCode】todowrite 工具提示词(示例)(二)
  • 淘宝拍立淘 API(爆款挖掘项目技术复盘)
  • 2026苏州水泵回收:专业高价与源头公司深度分析 - 品牌企业推荐师(官方)
  • leetcode41 缺失的第一个正数
  • 3步搞定TrollStore安装:iOS 14.0-16.6.1系统的完整解决方案
  • Linux开机重置密码时做了什么?
  • 昆明先打官司后付费医疗律师测评分析|2026客观选型指南 - GEO真实测评
  • 无人机反制中AOA+TDOA联合定位技术与雷达探测定位技术的应用对比分析
  • 2026GEO 行业源头品牌实力分级解析,企业合作选型深度参考攻略 - 玖叁鹿
  • 3步搞定鸣潮自动化:智能助手解放双手全攻略
  • 企业级IT服务管理实战:5步搭建基于iTop的自动化运维平台
  • 基于清洁架构的Unitree Go2机器人ROS2 SDK:解决实时多模态数据同步与分布式控制的技术实践
  • 谨防隐形扣费,厦门闲置黄金出手攻略 - 奢侈品回收评测
  • OpenClaw v2026.5.31-beta.3 预发布解读:Gateway 服务名绑定、通知设置、安全接入与跨平台进度草稿
  • 《如何搭建用户分析体系指南》:定义、价值、思路、全流程实操指南、底层逻辑与落地方法···
  • WHAT - NextAuth 登录流程架构
  • 别再瞎点Debug了!ZYNQ SDK与PL联合调试的保姆级流程(含ILA触发条件详解)
  • 夸克网盘批量管理终极指南:3分钟掌握高效文件处理技巧
  • 2026实测南京黄金回收市场,禹竞深耕本地多年,口碑和实力双在线 - 奢侈品交易观察员
  • QT自定义控件之热换站远程监控系统