每次我必須這樣做時,我「發明」了一種不同的方式。時間標準化。我懷疑有一些默認命令我忽略了這一點,所以如果問題太微不足道,我很抱歉。生成組合
什麼是更好的(內存,性能)的方式來獲得:
combinations[{1,2,3},2] = {{1,2},{1,3},{2,3}}
與輸入列表中的任意元素,當然。
每次我必須這樣做時,我「發明」了一種不同的方式。時間標準化。我懷疑有一些默認命令我忽略了這一點,所以如果問題太微不足道,我很抱歉。生成組合
什麼是更好的(內存,性能)的方式來獲得:
combinations[{1,2,3},2] = {{1,2},{1,3},{2,3}}
與輸入列表中的任意元素,當然。
Subsets[{1, 2, 3}, {2}]
是內置的方式。
該死的,我知道這太微不足道了:)。謝謝! – 2011-04-27 18:39:22
cah,祝賀開明徽章! – 2011-04-28 01:09:43
在添加Subsets
作爲核心功能之前,Combinatorica功能KSubsets
可用。
Needs["Combinatorica`"]
KSubsets[{1, 2, 3}, 2]
(* {{1, 2}, {1, 3}, {2, 3}} *)
Combinatorica還提供了額外的功能,如NextKSubset
:
NextKSubset[{1, 2, 3}, {1, 3}]
(* {2, 3} *)
這最後一個功能可以爲內存管理非常有幫助。
你到4000!恭喜...現在4010 – 2011-04-27 21:01:41
@belisarius謝謝。 :d – 2011-04-27 21:02:08
如果您認爲要搜索「子集」,這只是微不足道的。如果你相當合理地只考慮搜索「組合」,那麼,你剛剛通過問這個問題爲所有這些未來的人們做了很好的服務! – dreeves 2011-04-27 20:42:22
@ dreeves謝謝sooo多!現在,如果你真的想要責怪我,看看第三行代碼** I **寫在這裏http://stackoverflow.com/questions/3815496/plotting-linear-inequalities-in-mathematica/3868677#3868677 – 2011-04-27 20:55:28
我在幫助中心花了兩個步驟:組合=>元組=>子集(當然我已經知道了,所以這可能有所幫助) – 2011-04-27 21:09:31