分治法(二)

一、归并分类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
插入分类算法在最坏情况下的计算时间较长,有没有在最坏情况下比这个要好的算法?
在这里插入图片描述
在这里插入图片描述

合并函数的算法思想和描述:

在这里插入图片描述
在这里插入图片描述

归并排序算法的缺点:
  • 当子集合的元素很少时,算法多数时间消耗在哪里?在递归的处理上
    改进:
  1. 当子集合的元素个数适当少时
  2. 采用 在小规模集合上能有效工作的排序算法,而非继续划分,以此克服上述缺点带来的时间消耗
  3. 小规模集合上有效排序方法:插入排序算法
    在这里插入图片描述
  • 辅助数组增加了空间内复杂度;每次调用merge时,都需要将辅助数组中的结果复制回A中,消耗时间
    改进:
  1. 用一个链接数组link代替B,链接数组即,其index的位置上保存了应该排在其下一个位置的元素的index,不保存真实数值,从而构成一条链。

在这里插入图片描述
在这里插入图片描述
link数组空间没变,但是不在需要每次将数组元素复制A中了
在这里插入图片描述
其他改进:
可以消去递归,取消栈的使用,

  • 自底向上的方法,将元素两两配对
  • 自然归并排序法
    在这里插入图片描述
    自然归并排序如何实现,扫描一遍找出已排序子数组组段?
    在这里插入图片描述
    在n/2比较是刚好两个数组每个元素对应比较,所以是n/2;
    n-1是在一个数组用一个,另一个数组全部,所以是n-1,最差情况。在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    其实可以从n个数的排序数来考虑,n个数全排列,即可得到。每一个外节点对应一个排序的话,就自然是n!个外节点了。
考虑任何排序算法对应的二元比较树

设🌲的高度是k

  • 内节点的级数最大为k
  • 外节点级数最大为k+1
  • 外节点最多有2k,至少有n!,所以有n!<=2k
    在这里插入图片描述

二、特斯拉森矩阵乘法

矩阵最基本的运算是:矩阵相加和矩阵相乘
在这里插入图片描述
特斯拉森矩阵乘法就在于通过==分治法+处理技巧 ==,计算矩阵相乘。
在这里插入图片描述

在这里插入图片描述
稍微记一下strassen算法的计算方法。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值