Réversion de nombres entiers
La permutation de réversion de chiffres, et en particulier la permutation de réversion de bits, est une technique de réordonnancement utilisée dans certains algorithmes rapides de transformée de Fourier.
Définissez une fonction qui génère la permutation de réversion de degré .
In[1]:=
reversalperm[k_, b_] := IntegerReverse[Range[0, b^k - 1], b, k] + 1;
Générez la permutation de réversion de chiffres pour les listes de longueur .
In[2]:=
Table[reversalperm[k, 2], {k, 0, 5}]
Out[2]=
Générez la permutation inverse de base-3 pour les listes de 9 éléments.
In[3]:=
reversalperm[2, 3]
Out[3]=
Représentez ces changements.
In[4]:=
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]:=
With[{k = 2, b = 3}, Graphics[
segment /@
Thread[{Thread[{0, Range[b^k]}], Thread[{b^k, reversalperm[k, b]}]}]
]]
Out[5]=