python生成n個元素的全組合方法
更新時間:2018年11月13日 11:29:48 作者:那時的風兒
今天小編就為大家分享一篇python生成n個元素的全組合方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
利用二進制反格雷碼(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:pycharm中虛擬環(huán)境venv的使用及說明
文章介紹了虛擬環(huán)境的必要性和實踐方法,虛擬環(huán)境可以幫助用戶管理不同項目所需的Python版本和第三方模塊,避免版本沖突和模塊沖突,文章詳細介紹了如何使用Python自帶的`venv`模塊創(chuàng)建和管理虛擬環(huán)境,并通過命令行和PyCharm兩種方式構建虛擬環(huán)境2025-01-01
淺談numpy.where() 的用法和np.argsort()的用法說明
這篇文章主要介紹了淺談numpy.where() 的用法和np.argsort()的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05
PyTorch之torch.matmul函數(shù)的使用及說明
PyTorch的torch.matmul是一個強大的矩陣乘法函數(shù),支持不同維度張量的乘法運算,包括廣播機制。提供了矩陣乘法的語法,參數(shù)說明,以及使用示例,幫助理解其應用方式和乘法規(guī)則2024-09-09
小議Python中自定義函數(shù)的可變參數(shù)的使用及注意點
Python函數(shù)的默認值參數(shù)只會在函數(shù)定義處被解析一次,以后再使用時這個默認值還是一樣,這在與可變參數(shù)共同使用時便會產生困惑,下面就來小議Python中自定義函數(shù)的可變參數(shù)的使用及注意點2016-06-06
python線程池 ThreadPoolExecutor 的用法示例
這篇文章主要介紹了python線程池 ThreadPoolExecutor 的用法示例,幫助大家更好得理解和使用python線程池,感興趣的朋友可以了解下2020-10-10

