数据结构归并排序

数据结构归并排序,第1张

数据结构归并排序

归并排序
什么是归并排序呢?
归并排序是利用归并的思想实现的排序方法,该算法采用经典的分治策略(分治法将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。

定义显然不是那么通俗易懂,那么举个例子来说明吧。
首先给出将要排序的数字

第一步(将每一个数看做一组)

第二步(两两归并,归并后的两个数看为一组)

第三步(再将两组归并)

第四步(再将两组归并)

第五步(也是最后一步啦)

上面是一个简单地归并例子就排序好啦!
····················································································手动分界线··············································································
设n个元素需要k步归并可以排序好,即n/2^(k-1)=1 =>n=2^(k-1) =>k=log2n-1≈log2n
每一步需要n
归并排序的时间复杂度就为O(nlogn)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5713154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存