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根据给定文件返回文件名和扩展名的方法
Mar 27 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
python按时间排序目录下的文件实现方法
Oct 17 Python
python3 实现对图片进行局部切割的方法
Dec 05 Python
django主动抛出403异常的方法详解
Jan 04 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
python银行系统实现源码
Oct 25 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
python实现12306登录并保存cookie的方法示例
Dec 17 Python
Numpy与Pytorch 矩阵操作方式
Dec 27 Python
Python万能模板案例之matplotlib绘制甘特图
Apr 13 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
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
onpropertypchange
2006/07/01 Javascript
js+css实现增加表单可用性之提示文字
2013/06/03 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
基于ionic实现下拉刷新功能
2018/05/10 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
Python异常处理总结
2014/08/15 Python
磁盘垃圾文件清理器python代码实现
2020/08/24 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
Python 面试中 8 个必考问题
2018/11/16 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
大学生饮食连锁店创业计划书
2014/01/17 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
团代会主持词
2014/04/02 职场文书
火箭队口号
2014/06/18 职场文书
2015元旦标语横幅
2014/12/09 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android
springboot入门 之profile设置方式
2022/04/04 Java/Android
python字符串的一些常见实用操作
2022/04/06 Python