假设我有一系列值(例如,3,5,8,12,15),我想偶尔将所有值减少一定值。
如果我将它们存储为序列(0,2,3,4,3)并将变量保存为3的基数,我现在只需要更改基数(并检查第一项)减少它们而不是实际覆盖所有值。
我知道这是一个正式的术语,但是当我从母语翻译成英语时,它的表现并不正确。
答案 0 :(得分:4)
Differential Coding / Delta Encoding?
我不知道数据结构的名称,但它基本上只是基数+偏移量: - )
答案 1 :(得分:2)
偏移?
答案 2 :(得分:1)
如果我理解你的问题,你就会变相。这通常用于引用来自加载地址的DLL中的patching up addresses。
我不确定你正在做什么,因为你的例子似乎不正确。为了得出{3,5,8,12,15},基数为3,你需要{0,2,5,9,12}。
答案 3 :(得分: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)中检索值?这项技术是否源于优化的愿望?
也许你正在寻找像“归纳序列”或“归纳序列”这样的术语。 (我刚刚做到了。)