[問題]新手請教一下~

看板Perl作者 (...)時間17年前 (2007/12/16 16:57), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/2 (看更多)
假如有一個字串 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

12/17 12:39, , 1F
$str = 'abcadeceaacbb';
12/17 12:39, 1F

12/17 12:39, , 2F
aa的機率 = aa的次數 / a為開頭的次數
12/17 12:39, 2F
文章代碼(AID): #17PEYCTY (Perl)
討論串 (同標題文章)
文章代碼(AID): #17PEYCTY (Perl)