帮助大家理解差分数组(算法)

一.概念

 数学符号  Y(n+1)-Y(n)=y (此处的n和n+1都是下标)

文字:原数组的后一项减去前一项的差值即为差分值.

适用的范围:区间修改,有大量的修改操作并且整体修改是连续进行的.

二.原理分析

        原数组:         1        2        3        4        5        6

     差分数组:        1        1        1        1        1         1

差分的出过程     (1-0)   (2-1)   (3-2)......     (只是帮助理解)       

原数组的得        1      1+1    1+1+1  1+1+1+1........(前一项原数组加上该值对应分差=该值元素组)

出过程(得出原数组的方法叫作前缀和逆运算)

三.具体例子

使用差分数组改变数组的时候应该改变某区间差分数组初始值区间结束值的下一位

初值值的差分是对应的差分加上变化量

结束值的差分下一位对应的差分减去变化量

此处的下标仅仅表示数组元素的顺序 

 第二个例子

 上面只是一个该变量的差分

下面演示两个改变量的差分

四.总结

1.差分的计算 : 该项前一项原数组 - 该项原数组  = 该项的差分;

2.改变后的数组= 该项的前一项改变后数组 + 该项对应改变后的差分值

3.这里所有差分数列的第一项都是直接写就可以不需运算,也就是

第一项的数组值 = 原差分值 =改变后的差分值 =改后数组的值(都是第一项)

五.代码展示助于理解

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不吃牛肉!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值