explicitorimplicit 2016-10-09 13:53 采纳率: 0%
浏览 2198

自然合并排序和合并排序的区别

请详细解释一下,自然合并排序和合并排序的区别,根据网上解释,没看出区别,请各位大神把两者比较一下,谢谢你们

  • 写回答

2条回答 默认 最新

  • lyhoo163 2016-10-09 23:33
    关注

    1、要弄清合并排序
    合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。
    合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。
    将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。合并排序也叫归并排序。

    2、自然合并排序
    就是在合并排序时,建立子数组段,通过数组已排序的(自然排序,不重新排序)子数组段。如{4,8,3,7,1,5,6,2},自然排好序的子数组段{4,8},{3,7},{1,5,6},{2}
    如果是合并排序,就是通过编程语句,通过比较(打破原序列)再建立子数组段。如{4,8,3,7,1,5,6,2},重新排序的子数组段{1,2},{3,4},{5,6},{7,8}

    评论

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘