打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【图解算法】归并排序算法
归并排序是创建在归并操作上的一种有效的排序算法,效率为O(n log n)。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。(from zh.wikipedia.org

我对归并排序的理解是——分而治之,就是一个问题看起来很复杂,那就将他分开处理,这也是递归的思想; 就拿排序这件事件来说,对一个数组的排序,我们可以将他分成两个数组来处理,再对这两个数组同样的道理来处理,将他们分别分成两个数组来处理…… 直到数组无法再细分下去(即数组的长度为1,只有一个元素的数组肯定是有序的),分为之后的数组进行合并操作,向上整合整个数组,最后到达得到一个有序的数组的目的。

可能这样说得很抽象,我们一起来看归并排序的动态处理元素的图例:

看着图的同时再来看一看具体的代码实现过程:

    public static void main(String [] args){int[] t = {18,7,8,6,33,2,9,1};        mergSort(t,0,7);for (int i = 0;i

程序输出:

1 2 6 7 8 9 18 33

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【白话经典算法系列之十五】“一步千里”之数组找数 (转)
算法问题的思路
求逆序数
101,排序-冒泡排序
搜索算法具体分类总结
高效率的排列组合算法|高效率,排列组合算法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服