Wolfram 언어

대수학과 정수론

정수 반전

숫자 반전 치환, 특히 비트 반전 치환은 고속 푸리에 (Fourier) 변환 알고리즘의 일부에서 사용되는 정렬 기법입니다.

차수 의 반전 치환을 생성하는 함수를 정의합니다.

In[1]:=
Click for copyable input
reversalperm[k_, b_] := IntegerReverse[Range[0, b^k - 1], b, k] + 1;

길이 의 목록에 대한 비트 반전 치환을 생성합니다.

In[2]:=
Click for copyable input
Table[reversalperm[k, 2], {k, 0, 5}]
Out[2]=

9 요소로 이루어진 여러 목록에 대한 기저 3 자리 숫자 반전 치환을 생성합니다.

In[3]:=
Click for copyable input
reversalperm[2, 3]
Out[3]=

이러한 변환을 나타냅니다.

In[4]:=
Click for copyable input
segment[{p1_, p2_}] := {PointSize[Large], Point[{p1, p2}], Line[{p1, p2}], Text[Last[p1], p1 - {1/2, 0}], Text[Last[p2], p2 + {1/2, 0}]};
In[5]:=
Click for copyable input
With[{k = 2, b = 3}, Graphics[ segment /@ Thread[{Thread[{0, Range[b^k]}], Thread[{b^k, reversalperm[k, b]}]}] ]]
Out[5]=

관련 예제

de en es fr ja pt-br ru zh