作者imce (蜥蜴)
看板perl
标题Re: [问题] 好像一个有点难度的问题= =?
时间Fri Mar 30 01:20:23 2007
写完了.....不过.....用的不是正规的perl语法
因为这个根本就是演算法,所以用比较口语的写法
概念很简单,三个处理副程式,一个initial,一个主程式main
因为没有写正式的code,所以也没有debug,写起来有问题请自行debug罗
#################################################
1.initial();
@T1=(1,3,3,2,2);@T2=(2,1,0,1,2).....
@T=(T1,T2,T3....);
@C=(T1); #C的成员
@wC=(T1);#C的权重
@temp;
2.main()
initial();
foreach $T (@T)
@temp=();
foreach $wC ( @wC )
$temp[$i]=SIM($T, $wC);
if (#$(grep( $_ >10 ,@temp) ) = 1) #只有一组 > 10
add1($T);
if (#$(grep( $_ >10 ,@temp) ) > 1) #超过一组 > 10
add2($T);
if (! #$(grep( $_ >10 ,@temp) ) ) #没有一组 > 10
add3($T);
3.SIM($T,$wC)
算$T,$wC内积
4.add1($T)
$i=0;
($_ > 10)?last:$i++ for(@temp); #找到该加入的那一组
push($C[$i],$T);
$wC[$i]=(新权重);
5.add2($T)
错了
6.add3($T)
push($C[#$C+1],$T); #新开一组C
$wC[#$C+1]=$T; #新开一组C的权重
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 221.169.101.12
1F:推 LiloHuang:推一个~ 03/30 01:26
3F:推 Yaowei:泪推^^谢谢 :) 03/30 01:37
4F:推 softwind:相似度: Covariance/Correlation/Eucliden-distance... 03/30 08:31
※ 编辑: imce 来自: 221.169.101.12 (03/31 19:53)