全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1844 2
2016-06-04
sas advance130题中 第113题
数据源temp如下:
A     Frequency
1     500,000
2     500,000
6     7,000,000
8     3,000
下面那个SAS程序用的CPU最少?为什么选C
data new;
set temp;
if a in(1,2) then b='medium';
else if a=8 then b='small';
else if a=6 then b='large';
run;


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-6-7 03:26:35
先选择概率高的,然后选概率低的,也就是 7,000,000——500,000——3000,用if else。
我的理解是这样的,假如你有10个数据,分别分到A,B,C三组,分别为6个,3个和1个,
如果选择顺序为A-B-C,cpu就会进行10+4+1=15个if 的判断;
如果顺序是C-B-A,CPU 就会进行10+9+6=25个的判断。
所以应该选择从多到少概率的顺序进行判断,这样CUP消耗最少。
请高手纠正。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-6-15 13:26:58
niugg2010 发表于 2016-6-7 03:26
先选择概率高的,然后选概率低的,也就是 7,000,000——500,000——3000,用if else。
我的理解是这样的, ...
谢谢!!你说的应该是对的!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群