合并排序优化策略探讨:从递归到循环转变及其影响.pptxVIP

  • 2
  • 0
  • 约小于1千字
  • 约 14页
  • 2026-07-19 发布于北京
  • 举报

合并排序优化策略探讨:从递归到循环转变及其影响.pptx

合并排序的优化提出假设验证10W数据*100次执行,取平均值思考

去掉递归递归-loop

递归-Loop?循环i:对长度为N的数组i=1i=2

N=20

思考?虽然用循环替代的递归,但是不均匀也许循环替代递归的优化并不是一个节省时间的好想法。

更好的思路?循环i:?

思考为了减少递归,增加了计算(未必划算)合理的拆分很重要

另一个思路mege(A,p,q,r)交换[p,q)[q,r)的元素合并两个有序数组?对[p,r)的子数组进行r-q次旋转操作

旋转操作

旋转操作(抽象)functionrotate(A,amount,start,end)A:数组B.:amount:旋转次数start:旋转区间开始end:旋转区间结束返回:无

旋转可以用3次反转作实现将整个数组反转将[start,start+amount)反转将[start+amount,end)反转

另一个思考方向使用插入排序对每16-31个元素的底层分块进行排序使用合并有序数组的方法对这些块逐层排序

总结常数时间优化编译器通常已经做到极致关键还是算法层面的优化

更多思路当数组大小为2的时候进行交换当数组大小为4的时候使用insertion_sort当数组大小为8的时候使用insertion_sort当数组大小为xxx的时候使用冒泡排序

文档评论(0)

1亿VIP精品文档

相关文档