生成格雷码有三种方法,
一:首先是从全0格雷码开始,依次执行
1.将最低位反转
2.将最右边的1左边的第一位反转
二:递归镜像构造
1:1位格雷码是 0,1
2:$(n+1)$位格雷码中的前 $2^n$个码字等于$n$位格雷码的码字,按顺序书写,加前缀 0
3:(n+1)位格雷码中的后 $2^n$个码字等于 $n$位格雷码的码字,按逆序书写,加前缀 1
三:计算
\(G(n)\)表示第\(n+1\)个格雷码,可以注意到\(G(n)=n\quad xor\quad (n>>1)\)
证明