为了账号安全,请及时绑定邮箱和手机立即绑定

MergeSort和QuickSort衍生出来的问题

标签:
算法

归并排序和快速排序的衍生问题

MergeSort和QuickSort代表了分治算法的两类基本思想:

MergeSort: 在分的时候没有做太多的考虑, 就是将数组一分为二,然后递归的进行归并排序。关键在于这样分完之后,我们怎么讲他们归并起来。

QuickSort:在如何分上面做了很多设计,采用了一个标定点,使用partition过程将其移到了合适的位置,然后将数组分割成了两部分,这样分完之后,我们在做合的过程就不用在做太多考虑了。只需要一步一步递归下去即可。


两个直接从MergeSort和QuickSort衍生出来的问题

  1. 求一个数组中逆序对数量


    图中2,3是顺序对, 2,1 是逆序对

    一个数组中逆序对的数量是衡量一个数组的有序程度

    

    上面一个数组,逆序对为0, 下面一个数组,任何两个数都是逆序对,这个数组的逆序对数量达到了最大值

双重循环,遍历没两个元素,if x < y,  逆序对数量++





点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消