Предположим, у меня есть, например, вершины многоугольника, хранящиеся в списке.Любое вращение списка является функционально эквивалентным (в этом случае, поскольку порядок вершин в произвольном многоугольнике является существенным, но то, что вы выбираете в качестве отправной точки, не имеет значения).Следовательно, в представлении списка есть дополнительные биты информации, пропорциональные журналу количества элементов в списке.
Есть ли способ сжать такие данные, чтобы исключить дополнительные биты, кодирующие конкретный поворот?Если да, существует ли для него универсальный алгоритм / структура данных или он будет зависеть от конкретного типа элементов данных (чисел, кортежей чисел для координат, произвольных объектов и т. Д.)?