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

算法—合并排序—js(场景:大数据且需稳定性)

合并排序基本思想(稳定且高效)
将数组递归拆分为最小单元,合并两个有序数组。

特点:
时间复杂度:O(n log n)
空间复杂度:O(n)
稳定排序

// 合并排序-分解
function mergeSort(arr) {if (arr.length < 2) return arr;const mid = Math.floor(arr.length / 2);let left = arr.slice(0, mid);let right = arr.slice(mid)if (left.length > 1) left = mergeSort(left);if (right.length > 1) right = mergeSort(right);return merge(left,right)
};// 合并排序-合并排序
function merge(left,right) {let result = [], i = j = 0;while(i<left.length && j<right.length) {if (left[i] < right[j]) {result.push(left[i]);i++;} else {result.push(right[j]);j++;}}return [...result, ...left.slice(i), ...right.slice(j)];
};

在这里插入图片描述


文章转载自:
http://agglutinate.dmyyro.cn
http://businesswoman.dmyyro.cn
http://cervantite.dmyyro.cn
http://bromid.dmyyro.cn
http://babi.dmyyro.cn
http://appalling.dmyyro.cn
http://analytical.dmyyro.cn
http://charmeuse.dmyyro.cn
http://cannot.dmyyro.cn
http://basifugal.dmyyro.cn
http://amidate.dmyyro.cn
http://anticorrosive.dmyyro.cn
http://alidade.dmyyro.cn
http://atramentous.dmyyro.cn
http://berme.dmyyro.cn
http://beast.dmyyro.cn
http://boner.dmyyro.cn
http://bronchium.dmyyro.cn
http://absorptance.dmyyro.cn
http://accelerometer.dmyyro.cn
http://cadmaean.dmyyro.cn
http://chopboat.dmyyro.cn
http://adjustable.dmyyro.cn
http://autoeciousness.dmyyro.cn
http://centralia.dmyyro.cn
http://boathouse.dmyyro.cn
http://analogist.dmyyro.cn
http://amidocyanogen.dmyyro.cn
http://chinatown.dmyyro.cn
http://brimful.dmyyro.cn
http://www.dtcms.com/a/144688.html

相关文章:

  • 80 7816协议与串口uart协议时序图
  • 【CPU】中断即时性
  • 自然语言处理(9)—— 共现词矩阵及Python实现
  • C#进阶学习(八)常见的泛型数据结构类(3)SortedDictionary<TKey, TValue>与SortedList<TKey, TValue>
  • OJ - 设计循环队列
  • 交换机端口安全
  • C++学习:六个月从基础到就业——内存管理:内存泄漏与避免
  • chili3d调试6 添加左侧面板
  • 【第四十一周】文献阅读:HippoRAG:受神经生物学启发的大型语言模型长期记忆机制
  • OSPF特殊区域
  • 金融图QCPFinancial
  • mac监控linux上mysql性能(Grafana+Prometheus+mysqld_exporter)
  • VSCode PIO使用Jlink SWD烧录Stm32
  • 【C++初阶】第15课—模版进阶
  • 进程与线程:01 CPU管理的直观想法
  • 股票分析技术指标【RSV、KDJ】
  • 【Ollama:本地LLM工具】
  • windows服务器及网络:论如何安装(虚拟机)
  • 驱动开发硬核特训 · Day 15:电源管理核心知识与实战解析
  • 基于javaweb的SpringBoot儿童爱心管理系统设计与实现(源码+文档+部署讲解)
  • go语言对http协议的支持
  • 神经网络与模型训练过程笔记
  • PyTorch 深度学习实战(39):归一化技术对比(BN/LN/IN/GN)
  • 提示词设计:动态提示词 标准提示词
  • Android Studio 中 Drawable 详细全解
  • 计算机视觉cv入门之答题卡自动批阅
  • linux 搭建 dvwa 渗透测试环境
  • mysql的5.7版本与8.0版本的差异与兼容性
  • 从零创建 Docker 镜像
  • Django 使用教程