雷德算法实现到位序
Posted 不知姓名的黑猫君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了雷德算法实现到位序相关的知识,希望对你有一定的参考价值。
转自http://blog.csdn.net/corcplusplusorjava/article/details/17119567
使用雷德算法实现倒位序:
对于自然顺序(二进制)我们是在低位加 1 得到下一位数,对于倒位序我们是在高位加 1 向低位进位。比如已知一个倒位序数是J求其下一个倒位序数,N位总数 ,把J与N/2比较若J<N/2则J的最高位为 0 ,把最高位置 1 ,就得到了J的下一个倒位序数;若J>=N/2则说明J的最高位为1 ,把最高位置0 ,比较次高位,若次高位为0 ,则把次高位置1,得到J的下一个倒位序,若次高位为1 , 则把次高位置0,以此类推...
以N = 8 为例:
倒位数顺序 倒位数 十进制
000 000 0
001 100 4
010 010 2
011 110 6
100 001 1
101 101 5
110 011 3
111 111 7
我的温馨提示,如果看了该博主的博文还没懂得话,那么自己手动模拟一下就会发现了,其实还挺简单的
以上是关于雷德算法实现到位序的主要内容,如果未能解决你的问题,请参考以下文章
❤️算法系列之顺序二叉树的实现(前序遍历中序遍历后序遍历)❤️