A*******s 发帖数: 3942 | 1 估计是很基本的算法,不过俺就是不懂。请大牛们不吝指教。
问题:将一个集合划分为两个非空子集,遍历所有划分情况。
比如说,对于集合{A,B,C},划分方法有三种
{A},{B,C}
{A,B},{C}
{A,C},{B}
怎样编程实现对任意集合的所有划分呢?先谢谢了。 | c******a 发帖数: 30 | 2 递归?
【在 A*******s 的大作中提到】 : 估计是很基本的算法,不过俺就是不懂。请大牛们不吝指教。 : 问题:将一个集合划分为两个非空子集,遍历所有划分情况。 : 比如说,对于集合{A,B,C},划分方法有三种 : {A},{B,C} : {A,B},{C} : {A,C},{B} : 怎样编程实现对任意集合的所有划分呢?先谢谢了。
| B****n 发帖数: 11290 | 3 如果有n個元素 那總共有2^(n-1)-1總分法
那你就寫個loop i=1:2^(n-1)-1 每個i用二進位表示 某位為0就是那個元素沒取 1就表
示有取
【在 A*******s 的大作中提到】 : 估计是很基本的算法,不过俺就是不懂。请大牛们不吝指教。 : 问题:将一个集合划分为两个非空子集,遍历所有划分情况。 : 比如说,对于集合{A,B,C},划分方法有三种 : {A},{B,C} : {A,B},{C} : {A,C},{B} : 怎样编程实现对任意集合的所有划分呢?先谢谢了。
| A*******s 发帖数: 3942 | 4 请展开说说
【在 c******a 的大作中提到】 : 递归?
| A*******s 发帖数: 3942 | 5 先谢谢了。看起来是可行的。如果是我说的n=3的情形,i=01,10,11(二进制),然
后i的两位digit对应的是元素A和元素B的话,那么每次iteration选入第一个子集得元
素分别是{B},{A},{A,B},你的意思是这样么?
不过,在sas里怎么实现呢?
【在 B****n 的大作中提到】 : 如果有n個元素 那總共有2^(n-1)-1總分法 : 那你就寫個loop i=1:2^(n-1)-1 每個i用二進位表示 某位為0就是那個元素沒取 1就表 : 示有取
| D******n 发帖数: 2836 | 6 SAS玩這些東西不太容易吧,還看最後你要做什麽,分開的是什麽。用R吧。
【在 A*******s 的大作中提到】 : 先谢谢了。看起来是可行的。如果是我说的n=3的情形,i=01,10,11(二进制),然 : 后i的两位digit对应的是元素A和元素B的话,那么每次iteration选入第一个子集得元 : 素分别是{B},{A},{A,B},你的意思是这样么? : 不过,在sas里怎么实现呢?
| A*******s 发帖数: 3942 | 7 想把一个categorical variable的所有split都遍历一遍。sas搞不定么?
【在 D******n 的大作中提到】 : SAS玩這些東西不太容易吧,還看最後你要做什麽,分開的是什麽。用R吧。
| D******n 发帖数: 2836 | 8 是在不行可以用R實現,然後輸出一個data file,然後用sas讀進去。混合編程,天下無
敵。
【在 A*******s 的大作中提到】 : 想把一个categorical variable的所有split都遍历一遍。sas搞不定么?
| s*******a 发帖数: 705 | 9 expand.grid
【在 A*******s 的大作中提到】 : 估计是很基本的算法,不过俺就是不懂。请大牛们不吝指教。 : 问题:将一个集合划分为两个非空子集,遍历所有划分情况。 : 比如说,对于集合{A,B,C},划分方法有三种 : {A},{B,C} : {A,B},{C} : {A,C},{B} : 怎样编程实现对任意集合的所有划分呢?先谢谢了。
| A*******s 发帖数: 3942 | 10 我再想了一下,如果sas有个将numeric转化为binary string的函数就应该可以实现了
,有这个函数么?
下無
【在 D******n 的大作中提到】 : 是在不行可以用R實現,然後輸出一個data file,然後用sas讀進去。混合編程,天下無 : 敵。
| D******n 发帖数: 2836 | 11 data a1;
do i=0 to 7;
x=put(i,$binary3.);
output;
end;
run;
proc print ;run;
【在 A*******s 的大作中提到】 : 我再想了一下,如果sas有个将numeric转化为binary string的函数就应该可以实现了 : ,有这个函数么? : : 下無
| A*******s 发帖数: 3942 | 12 谢谢!还真不知道有$binary3.的format。
【在 D******n 的大作中提到】 : data a1; : do i=0 to 7; : x=put(i,$binary3.); : output; : end; : run; : proc print ;run;
|
|