JavaScript的排序算法——归并排序

归并排序是一种稳定的排序算法,由John von Neumann在1945年发明。它利用分治法将无序数组拆分成有序部分再合并。本文详细探讨了JavaScript中归并排序的实现和思路,并提供了相关阅读,包括冒泡排序、选择排序、插入排序、快速排序等其他常见算法。
摘要由CSDN通过智能技术生成

归并排序(Merge Sort)

在计算机科学里,归并排序(Merge Sort)是一种通用有效的排序算法。通常情况下实现的是稳定的排序队列,这意味着相等元素排序后的顺序与排序前保持一致。

归并排序是采用分治法(Divide and Conquer)的一个非常典型的应用,由John von Neumann发明于1945年。

很容易理解且执行效率一般(js实现)的排序。

排序思路:将无序的数组 拆成N部分进行有序处理,然后合并;

原理图:

// 合并排序:将无序的数组 拆成N部分进行有序处理,然后合并;
// 参考代码: https://gist.github.com/paullewis/1982121
function sort9(array) {
  var result = array.slice(0);

  // 递归调用合并函数
  function sort(array) {
    var length = array.length,
    mid = Math.floor(length * 0.5),
    left = array.slice(0, mid),
    right = array.slice(mid, length);

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值