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基于xml parse实现解析cdatasection数据
Sep 30 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
python实现二维插值的三维显示
Dec 17 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
Python中zip()函数的简单用法举例
Sep 02 Python
python实现对变位词的判断方法
Apr 05 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
Sep 04 Python
Python爬虫开发与项目实战
Dec 16 Python
python语言time库和datetime库基本使用详解
Dec 25 Python
Python如何把不同类型数据的json序列化
Apr 30 Python
python实现简单石头剪刀布游戏
Oct 24 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使用json_encode对变量json编码
2014/04/07 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
php简单判断文本编码的方法
2015/07/30 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
2017/06/13 jQuery
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
2017/08/03 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
Python的互斥锁与信号量详解
2019/09/12 Python
Python缓存技术实现过程详解
2019/09/25 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
软件测试面试题
2015/10/21 面试题
土木工程个人自荐信范文
2013/11/30 职场文书
餐饮业的创业计划书范文
2013/12/26 职场文书
大学生实习感言
2014/01/16 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
《别在吃苦的年纪选择安逸》读后感3篇
2019/11/30 职场文书