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 31 Python
使用Python的Twisted框架实现一个简单的服务器
Apr 16 Python
python实现图书管理系统
Mar 12 Python
Python获取指定字符前面的所有字符方法
May 02 Python
python利用插值法对折线进行平滑曲线处理
Dec 25 Python
Python 多维List创建的问题小结
Jan 18 Python
python查询文件夹下excel的sheet名代码实例
Apr 02 Python
使用Python控制摄像头拍照并发邮件
Apr 23 Python
Python3 itchat实现微信定时发送群消息的实例代码
Jul 12 Python
使用 Python 遍历目录树的方法
Feb 29 Python
Python爬虫程序架构和运行流程原理解析
Mar 09 Python
Python图片验证码降噪和8邻域降噪
Aug 30 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
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
Javascript中Eval函数的使用说明
2008/10/11 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
[55:32]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第二场
2018/04/05 DOTA
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
python聊天程序实例代码分享
2013/11/18 Python
编程语言Python的发展史
2014/09/26 Python
python获取文件扩展名的方法
2015/07/06 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
2018/07/06 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
django-csrf使用和禁用方式
2020/03/13 Python
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
2013年入党人员的自我鉴定
2013/10/25 职场文书
会计主管岗位职责范文
2013/11/08 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
四十九个javascript小知识实用技巧
2021/11/20 Javascript
Javascript webpack动态import
2022/04/19 Javascript