python生成n个元素的全组合方法


Posted in Python onNovember 13, 2018

利用二进制反格雷码(bynary reflected Gray code)的方式生成n个元素的全组合,Cn1+Cn2+...+Cnn,

如在利用穷举方法解决背包问题时,就需要找出物品的所有组合的子集。如有物品1,2,3.我们就可以生成3个位串的格雷码,0表示不选择该物品,1表示选择该物品。

算法如下所示:

import copy
def brgd(n):
 '''
 递归生成n位的二进制反格雷码
 :param n:
 :return:
 '''
 if n==1:
  return ["0","1"]
 L1 = brgd(n-1)
 L2 = copy.deepcopy(L1)
 L2.reverse()
 L1 = ["0" + l for l in L1]
 L2 = ["1" + l for l in L2]
 L = L1 + L2
 return L

以上这篇python生成n个元素的全组合方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python内置函数dir详解
Apr 14 Python
进一步探究Python中的正则表达式
Apr 28 Python
Python编码类型转换方法详解
Jul 01 Python
python实现RabbitMQ的消息队列的示例代码
Nov 08 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
python变量命名的7条建议
Jul 04 Python
Windows下Anaconda和PyCharm的安装与使用详解
Apr 23 Python
pytorch中的model.eval()和BN层的使用
May 22 Python
Python趣味挑战之实现简易版音乐播放器
May 28 Python
4种方法python批量修改替换列表中元素
Apr 07 Python
Python内置类型集合set和frozenset的使用详解
Apr 26 Python
python组合无重复三位数的实例
Nov 13 #Python
python自动化生成IOS的图标
Nov 13 #Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 #Python
Python3自动签到 定时任务 判断节假日的实例
Nov 13 #Python
python判断输入日期为第几天的实例
Nov 13 #Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 #Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 #Python
You might like
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
PHP输出时间差函数代码
2013/01/28 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
jquery $.each()使用探讨
2013/09/23 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
jquery  实现轮播图详解及实例代码
2016/10/12 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
2017/05/15 jQuery
vue里input根据value改变背景色的实例
2018/09/29 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python的标准模块包json详解
2017/03/13 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
全球最大的游戏市场:G2A
2018/07/05 全球购物
大学生的网络创业计划书
2013/12/26 职场文书
会计出纳员的自我评价
2014/01/15 职场文书
公司股东合作协议书
2014/09/14 职场文书
故宫的导游词
2015/01/31 职场文书
车队安全员岗位职责
2015/02/15 职场文书
接待员岗位职责范本
2015/04/15 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
导游词之凤凰古城
2019/10/22 职场文书