最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python利用遞歸方法實(shí)現(xiàn)求集合的冪集

 更新時(shí)間:2020年09月07日 10:43:15   作者:精靈之子  
這篇文章主要給大家介紹了關(guān)于python利用遞歸方法實(shí)現(xiàn)求集合的冪集的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

什么是集合的冪集?

就是原集合中所有的子集(bai包括全集du和空集)構(gòu)成的集族。可數(shù)集是zhi最小的無限集; 它的冪集和實(shí)數(shù)dao集一一對(duì)應(yīng)(也稱同勢),是不可數(shù)集。 

不是所有不可數(shù)集都和實(shí)數(shù)集等勢,集合的勢可以無限的大。如實(shí)數(shù)集的冪集也是不可數(shù)集,但它的勢比實(shí)數(shù)集大。 設(shè)X是一個(gè)有限集,|X| = k,則X的冪集的勢為2的k次方。

代碼

def powSet(S):
 #創(chuàng)建列表a存儲(chǔ)S中的元素
 a=[]
 for i in S:
  a.append(i)
 #判斷S中是否只有一個(gè)元素,作為遞歸的終點(diǎn)
 if len(a)==1:
  return set([frozenset(),frozenset(a)])
 
 powset=set()
 #遍歷S中的每一個(gè)元素
 	for i in range(len(a)):
  S.remove(a[i])
  temp = set()
 #取S中的這一個(gè)元素去掉,得到集合S的下一層(相當(dāng)于S-1),認(rèn)為S-1冪集已知。
 #將去掉的元素與S-1冪集中每一個(gè)元素都求并,得到新集合temp,temp和S-1的冪集求并便得到S的冪集
  for j in powSet(S):
   temp.add(j.union({a[i]}))
   powset = powSet(S).union(temp)
  S.add(a[i])
 return powset
 #驗(yàn)證
s=set([1,2,3])
print(powSet(s))

#結(jié)果
{{frozenset({2}), frozenset({2, 3}), frozenset({1, 2}), frozenset({1, 2, 3}), frozenset({3}), frozenset({1}), frozenset(), frozenset({1, 3})}}

需要知識(shí)

冪集的概念

python set 和 frozenset 數(shù)據(jù)類型

心得體會(huì)

筆者在寫代碼時(shí)遇到的問題是認(rèn)為powSet(S-1)(S-1代表S中去掉任一個(gè)元素)就完完全全地替代了真正去掉那一個(gè)隨機(jī)元素的元素組成的冪集。

實(shí)際上這樣是不完全的,因?yàn)樵O(shè)置的遞歸規(guī)則有缺陷,不可能完全遍歷所有情況。

解決:借助于集合元素的不可重復(fù)添加這一特性,我們可以遍歷遍歷所有S中的元素,都讓它們進(jìn)行一次遞歸操作,這樣做雖然會(huì)產(chǎn)生n(S)次重復(fù),但是它可以考慮到所有情況。

到此這篇關(guān)于python利用遞歸方法實(shí)現(xiàn)求集合的冪集的文章就介紹到這了,更多相關(guān)python遞歸方法求集合的冪集內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

泗洪县| 浑源县| 平昌县| 桦川县| 利辛县| 灌云县| 庆城县| 滨州市| 栖霞市| 平湖市| 禄劝| 卢龙县| 阜新市| 滨州市| 承德县| 江门市| 故城县| 宝丰县| 清镇市| 泊头市| 会昌县| 谢通门县| 思茅市| 浮山县| 涟水县| 玉环县| 遂平县| 香河县| 噶尔县| 疏勒县| 额济纳旗| 辽宁省| 房山区| 满城县| 丰原市| 土默特左旗| 惠安县| 鄂伦春自治旗| 交城县| 宜君县| 海安县|