利用 格雷码(Gray code) 求集合的子集

原创 2011年01月22日 14:27:00

接着昨天的话题,求集合中的子集。

 

今天,我们可以找到另一种方法来求所有集合的子集。。。

 

先来段背景介绍:

格雷码(Gray code),又叫循环二进制码或反射二进制码 在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式。。。

 

接着,我将采用另一种方式来求格雷码,这种方法可能比较土,但是,和网上其他人给出的方法有点不太一样,

首先来看一张图,我就是收到这张图的启发,想到的方法:

 

看到了吧,他们三者的关系。。。

 

好了,我分为三部分来做,首先,我将根据子集的序列,将其转换成格雷码的十进制数。

然后再将格雷码的十进制数转换成其对应的二进制数,那么格雷码也就得到了。。。

 

详细过程如下:

 

 

 

 

相关文章推荐

LeetCode_89_Gray Code 格雷码

题目描述 The gray code is a binary numeral system where two successive values differ in only one bit. ...

格雷码(Gray Code)的生成

1、什么是格雷码       Gray Code是一个数列集合,每个数使用二进制来表示,假设使用n位元来表示每个数字,那么任两个数之间只有一个位元值不同。       例如: 生成4位元的格雷码就是:...

LeetCode | Gray Code(格雷码)

The gray code is a binary numeral system where two successive values differ in only one bit. Give...

leetCode 89.Gray Code (格雷码) 解题思路和方法

The gray code is a binary numeral system where two successive values differ in only one bit. Give...

格雷码Gray Code

http://blog.csdn.net/pipisorry/article/details/72356418格雷码简介  在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格...

LeetCode 89. Gray Code(格雷码)

原题网址:https://leetcode.com/problems/gray-code/ The gray code is a binary numeral system where two s...
  • jmspan
  • jmspan
  • 2016年05月23日 00:34
  • 436

HDOJ 5375 Gray code【dp 格雷码】

Gray code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tota...
  • wyjwyl
  • wyjwyl
  • 2016年08月13日 20:27
  • 177

Java 递归实现格雷码(Gray Code)

问题:产生n位元的所有格雷码。 格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。 例如以下为3位元的格雷码: 00...

[LeetCode] 格雷码(Gray Code)

格雷码是一种数字排序系统,其中的所有相邻整数在它们的二进制数字表示中只有一个数字不同。现要求打印出二进制比特数是n的所有格雷码。例如,n=2,所有的格雷码是0,1,3,2(对应二进制表示是00,01,...

HDU 5375 Gray code(格雷码 找到入手点是关键所在)

HDU 5375 Gray code(格雷码 找到入手点是关键所在)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用 格雷码(Gray code) 求集合的子集
举报原因:
原因补充:

(最多只允许输入30个字)