递归求幂集(python)
2022/3/19 1:30:06
本文主要是介绍递归求幂集(python),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、问题描述
例如: 集合{‘A’, 'B', 'C}的幂集为{‘ ’,‘A’, 'B', 'C', 'AB', 'AC', 'BC', 'ABC'},由高中知识可知为2^n个
二、思路分析:
很明显,我们可以使用递归来解决,算法思想如下:
三、源代码:
set_null = set(' ') #空集为一个空格 def PowerSet(A): global set_null if len(A) == 0: #递归退出条件 return set_null else: a = A.pop() # print("去除了" + a) p = PowerSet(A) for b in p: c = b + a p = p | set([c]) #加[]是为了让c整体为一个集合元素 例{'ABC'} return p if __name__ == '__main__': A = {'A', 'B', 'C', 'D'} P = PowerSet(A) print("集合A的幂集为:") for p in P: if p == ' ': print('null', end='\t') print(p, end='\t')
四、运算结果:
这篇关于递归求幂集(python)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础