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 元类使用说明
Dec 18 Python
python生成验证码图片代码分享
Jan 28 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
python的dataframe和matrix的互换方法
Apr 11 Python
python搜索包的路径的实现方法
Jul 19 Python
Python re正则表达式元字符分组()用法分享
Feb 10 Python
Python单元测试及unittest框架用法实例解析
Jul 09 Python
Django3中的自定义用户模型实例详解
Aug 23 Python
Django集成MongoDB实现过程解析
Dec 01 Python
scrapy实践之翻页爬取的实现
Jan 05 Python
python使用numpy中的size()函数实例用法详解
Jan 29 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数据库操作类
2008/06/04 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
基于jQuery实现多层次的手风琴效果附源码
2015/09/21 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
vue超时计算的组件实例代码
2018/07/09 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
浅谈vue后台管理系统权限控制思考与实践
2018/12/19 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
python自动化测试三部曲之request+django实现接口测试
2020/10/07 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
创建市级文明单位实施方案
2014/03/01 职场文书
会计工作决心书
2014/03/11 职场文书
2014年减负工作总结
2014/12/10 职场文书
个人年终总结开头
2015/03/06 职场文书
PHP使用QR Code生成二维码实例
2021/07/07 PHP