-4
在Python中,我創建了一個包含prufer序列的數組,即一個由0到n-1之間的整數組成的長度爲n-2的數組。例如,(3,4,3,1,2)對於n = 7是一個箴言序列。我事先不知道。我想要創建一個prufer序列,用這個prufer序列做一些事情,創建另一個序列,用新序列做一些事情,等等。通過所有可能的prufer序列的最快方法
我想知道生成所有n ^(n-2)prufer序列的最快方法。
在Python中,我創建了一個包含prufer序列的數組,即一個由0到n-1之間的整數組成的長度爲n-2的數組。例如,(3,4,3,1,2)對於n = 7是一個箴言序列。我事先不知道。我想要創建一個prufer序列,用這個prufer序列做一些事情,創建另一個序列,用新序列做一些事情,等等。通過所有可能的prufer序列的最快方法
我想知道生成所有n ^(n-2)prufer序列的最快方法。
你似乎在尋找range
0<=x<n-1
的cartesian product,功能itertools.product
會爲你做到這一點:
for seq in itertools.product(range(n-1), repeat=n-2):
do_stuff(seq)
如果我理解正確的話,一個普呂弗序列是'範圍(N-1)'在python中,所有可能的序列將會在你的例子中我想你只想要['itertools.product'](https:// docs)之後'[range(i-1)for i in range(1,n)]' –
(範圍(n-1),重複= n-2)' –
我認爲這些評論是非常好的,並且在有人回答性能/最佳算法之前問題可能對e很好用@TadhgMcDonald-Jensen的建議來應對這個問題,這樣我們就能知道是否有更快捷的方法...... – Dilettant