作者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
1F:推 redmist:$str = 'abcadeceaacbb'; 12/17 12:39
2F:→ redmist:aa的机率 = aa的次数 / a为开头的次数 12/17 12:39