继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

MergeSort和QuickSort衍生出来的问题

郭富县城
关注TA
已关注
手记 3
粉丝 1
获赞 1

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

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

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

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


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

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


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

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

    

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

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





打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP