0

假设我有一个值序列(例如,3、5、8、12、15),我想偶尔将它们全部减少某个值。

如果我将它们存储为序列 (0, 2, 3, 4, 3) 并将变量保留为 3 的基数,我现在只需更改基数(并检查第一项),只要我想减少它们而不是实际上遍历所有值。

我知道这有一个官方术语,但是当我从我的母语直接翻译成英语时,它并不正确。

4

4 回答 4

4

差分编码/增量编码

我不知道数据结构的名称,但它基本上只是 base+offset :-)

于 2008-10-10T16:37:46.893 回答
2

抵消?

于 2008-10-10T16:28:01.330 回答
1

如果我理解你的问题是正确的,那么你正在变基。这通常用于参考从加载地址修补DLL 中的地址。

我不确定你在做什么,因为你的例子似乎不正确。为了得到以 3 为底的 { 3, 5, 8, 12, 15 },您需要 { 0, 2, 5, 9, 12 }。

于 2008-10-10T16:36:45.553 回答
1

我不知道。如果您将第一个数组想象为提供索引值 f(i) 的某个函数的结果,其中 f(0) 为 3,f(1) 为 5,依此类推,那么您的第二个数组正在描述函数 f` (i) 其中 f(i+1) = f(i) + f'(i) 给定 f(0) = 3。

我将其称为导数函数,其中检索原始数据的过程只是求和函​​数。

什么会更频繁地发生,你会改变 f(0) 还是从 f(i) 中检索值?这种技术是否植根于优化的愿望?

也许您正在寻找“归纳序列”或“归纳序列”之类的术语。(我只是编的。)

于 2008-10-10T16:39:38.887 回答