作者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
推 LiloHuang:推一個~ 03/30 01:26
推 Yaowei:淚推^^謝謝 :) 03/30 01:37
推 softwind:相似度: Covariance/Correlation/Eucliden-distance... 03/30 08:31
※ 編輯: imce 來自: 221.169.101.12 (03/31 19:53)