Лет 20 назад мною был получен один маленький результат, который мне до сих пор нравится. Речь идет об алгоритме Быстрого Преобразования Фурье, обрабатывающим массив данных из
элементов и состоящим из двух частей: сортировки массива и экономных (быстрых) вычислений. Результат относится к сортировке. Меня заинтересовало, как минуя алгоритм сортировки узнать номер какого-либо элемента массива после сортировки, зная его номер до сортировки.
Решение оказалось простым. Надо записать номер элемента исходного массива в двоичном коде, прочитав это число в обратном направлении (справа налево) получаем номер того же элемента после сортировки.
Каждый номер состоит из n двоичных цифр, а элементы исходного массива пронумерованы от 0 до
.
Пример: пусть массив имеет 128 элементов, т.е. n = 7, тогда например, четвертый элемент массива имеет номер 3=0000011, а после сортировки его номер 1100000=96 и он становится девяносто седьмым.
Результат не нашел практического применения. Мне кажется, что было бы неплохо иметь команду чтения двоичного числа справа налево. Это упростило бы сортировку в БПФ. Возможно также, что этот результат известен или очевиден специалистам.
Хочется узнать мнения уважаемых участников форума об этом результате и возможности его использования.