【算法复习】 变治算法

变治算法

写在前面的话

本文是本学渣因为考试需要写的一篇总结,只总结了需要考察的考点,所以可能有的内容引申的不多,请见谅。

一、思想

变,将问题的实例变得更容易求解
治,对变化后的实例进行求解
主要分为如下三种类型:

  1. 问题化简:将一个问题的实例变为另外一个问题的实例
    例如堆排序
  2. 实例化简:将问题的实例变为更简单的实例
    例如通过预排序,将问题变为排序好的列表的问题
  3. 改变表现:将同一个实例变成不同的表现
    例如AVL树,多路查找树

二、实例化简——高斯消去法

本节考试重点:高斯消去法的过程
**思想:**用于求解形式如下的多元一次方程式,将方程组系数变为一个下三角全部是0的矩阵,也就是将一个不好求解的矩阵实例转换为一个好求解的上三角矩阵实例。img

操作步骤:

  • 用第一个方程的一个倍数和第二个方程求差,将第二个方程中x1系数变为0;同样与其它方程求差,将所有x1系数变为0;
  • 再用第二个方程与其它方程作同样操作,将所有第二个方程后的所有x2系数变为0;
  • 最终得到下三角为0的系数矩阵

三、改变表现——霍纳法则

本节考试重点:霍纳法则的来龙去脉

**思想:**用于快速计算多项式的值,而不用多次反复计算x1到xn的值,体现了改变实例的表现的思想,将实例从计算多次幂再分别相加的表现形式改变为依次乘上x的表现形式。

img

每一次先乘上X,然后加上下一个系数。

(初始从第一个系数2开始, 然后2x-1, 然后x(2x-1)-3…)

四、改变表现——二进制幂

用于求解an的问题

image-20210415232438476

从左到右:

img

每一次,先平方,然后,如果n的二进制位为1,则乘上一个a。
(霍纳法则是每一次先乘上X,然后加上下一个系数。此处多项式在幂上,所以是每次先边乘为乘方进行x次方,然后变加为乘进行乘x,带入x=2得到上述结果)

霍纳法则,也可以延伸到X进制的情况。(例如三进制)

image-20210415112335441

PS.幂的运算法则:

  1. 同底数幂的乘法,2m*2n = 2m+n
  2. 幂的乘方, (2m)n = 2mn
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值