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分析作业提交情况
Nov 22 Python
Python语言描述最大连续子序列和
Dec 05 Python
Python线程同步的实现代码
Oct 03 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 Python
flask框架单元测试原理与用法实例分析
Jul 23 Python
python实现邮件发送功能
Aug 10 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
pytorch 修改预训练model实例
Jan 18 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Python logging日志模块 配置文件方式
Jul 12 Python
Django2.1.7 查询数据返回json格式的实现
Dec 29 Python
python 批量压缩图片的脚本
Jun 02 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 无法载入mysql扩展
2010/03/12 PHP
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
php导出excel格式数据问题
2014/03/11 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
CSS常用网站布局实例
2008/04/03 Javascript
javascript 年月日联动实现核心代码
2009/12/21 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
Electron 调用命令行(cmd)
2019/09/23 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
python实现简单ftp客户端的方法
2015/06/28 Python
详解Python多线程
2016/11/14 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
Python调用飞书发送消息的示例
2020/11/10 Python
英国网上花店:Bunches
2016/11/29 全球购物
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
自主招生自荐信指南
2014/02/04 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
Django程序的优化技巧
2021/04/29 Python
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android
用Python生成会跳舞的美女
2022/01/18 Python
详解jQuery的核心函数和事件处理
2022/02/18 jQuery
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技