Как называется эта структура данных или методика использования относительной разницы между элементами последовательности

#terminology

Вопрос:

Допустим, у меня есть последовательность значений (например, 3, 5, 8, 12, 15) и я хочу время от времени уменьшать их все на определенное значение.

Если я сохраню их в виде последовательности (0, 2, 3, 4, 3) и сохраняйте переменную в качестве базы 3, теперь мне нужно только менять базу (и проверять первые элементы) всякий раз, когда я хочу уменьшить их, вместо того, чтобы фактически перебирать все значения.

Я знаю, что для этого есть официальный термин, но когда я буквально перевожу с моего родного языка на английский, это выходит неправильно.

Ответ №1:

Дифференциальное Кодирование / Дельта-кодирование?

Я не знаю названия структуры данных, но в основном это просто база смещение 🙂

Ответ №2:

Смещение?

Комментарии:

1. Я имел в виду, что, по-моему, есть термин для последовательностей, которые управляются подобным образом… Где каждый элемент основан на предыдущем. Но прошло уже более 10 лет с тех пор, как я учился в колледже, и это было на другом языке…

Ответ №3:

Если я правильно понял ваш вопрос, вы перестраиваетесь. Обычно это используется для исправления адресов в библиотеках DLL с адреса загрузки.

Я не уверен, что вы это делаете, потому что ваш пример кажется неправильным. Для того, чтобы выйти с { 3, 5, 8, 12, 15 }, с базой 3 вам понадобится { 0, 2, 5, 9, 12 }.

Комментарии:

1. Нет, его смещения верны. Он говорит о разнице между каждым N и N 1 в последовательности. 3-3 = 0, 5-3 =2 и т.д.

Ответ №4:

Я не уверен. Если вы представляете, что ваш первый массив предоставляет результаты некоторой функции значения индекса f(i), где f(0) равно 3, f(1) равно 5 и т. Д., То ваш второй массив описывает функцию f`(i), где f(i 1) = f(i) f'(i) при f(0) = 3.

Я бы назвал это чем-то вроде производной функции, где процесс извлечения ваших исходных данных-это просто функция суммирования.

Что будет происходить чаще, будете ли вы изменять f(0) или извлекать значения из f(i)? Коренится ли эта техника в желании оптимизировать?

Возможно, вы ищете такой термин, как «Индуктивная последовательность» или «Индукционная последовательность«. (Я только что это придумал.)