作者sunbelt (...)
看板Perl
標題[問題]新手請教一下~
時間Sun Dec 16 16:57:45 2007
假如有一個字串 abcadeceaacbb
要找aa、ab、ac、...、ba、bb、bc...等 ,出現之機率,
找一個1階markov chain (例: a 後面接b、c、d...等之機率)
因為這幾天才剛接觸perl,只學會用些較簡單之語法0rz
我的想法是:
1. 先將字串切成一個陣列: @A=(ab、bc、ca ...)
2. 設一個Hash陣列存各元素出現次數: 例: aa => 次數
3. 設一個Hash陣列存a、b、c...開頭之元素出現次數:
例: a=>次數 (a開頭元素出現之次數)
4. 用上面兩個Hash陣列計算機率,設一個Hash陣列:
例 aa=>機率(a後面接a之機率)
想問一下有沒有其它建議的方法。謝謝囉~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.223.111.141
推 redmist:$str = 'abcadeceaacbb'; 12/17 12:39
→ redmist:aa的機率 = aa的次數 / a為開頭的次數 12/17 12:39