python回溯法实现数组全排列输出实例分析


Posted in Python onMarch 17, 2015

本文实例讲述了python回溯法实现数组全排列输出的方法。分享给大家供大家参考。具体分析如下:

全排列解释:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。

from sys import stdout
#code from https://3water.com/
def perm(li, start, end):
  if(start == end):
    for elem in li:
      stdout.write(elem)
    print ''
  else:
    for i in range(start, end):
      li[start], li[i] = li[i], li[start]
      perm(li, start+1, end)
      li[i], li[start] = li[start], li[i]
if __name__ == '__main__':
  li = ['a','b','c','d']
  perm(li, 0, len(li))

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
用Python输出一个杨辉三角的例子
Jun 13 Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 Python
python Django框架实现自定义表单提交
Mar 25 Python
Python实现字符串反转的常用方法分析【4种方法】
Sep 30 Python
wxPython的安装图文教程(Windows)
Dec 28 Python
pycharm重置设置,恢复默认设置的方法
Oct 22 Python
python从子线程中获得返回值的方法
Jan 30 Python
详解Django+uwsgi+Nginx上线最佳实战
Mar 14 Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
Aug 21 Python
python实现复制文件到指定目录
Oct 16 Python
pytorch构建多模型实例
Jan 15 Python
使用Python实现下载网易云音乐的高清MV
Mar 16 #Python
python使用点操作符访问字典(dict)数据的方法
Mar 16 #Python
python用来获得图片exif信息的库实例分析
Mar 16 #Python
python通过pil模块获得图片exif信息的方法
Mar 16 #Python
使用Python抓取模板之家的CSS模板
Mar 16 #Python
Python实现竖排打印传单手机号码易撕条
Mar 16 #Python
python通过exifread模块获得图片exif信息的方法
Mar 16 #Python
You might like
PHP类中Static方法效率测试代码
2010/10/17 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
php中的异常和错误浅析
2017/05/03 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
js尾调用优化的实现
2019/05/23 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
python3编码问题汇总
2016/09/06 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
Python进阶之自定义对象实现切片功能
2019/01/07 Python
python实现文字版扫雷
2020/04/24 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
简述安装Slackware Linux系统的过程
2012/05/08 面试题
营销主管自我评价怎么写
2013/09/19 职场文书
直接有效的自我评价
2014/01/11 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
MySql新手入门的基本操作汇总
2021/05/13 MySQL