java计算信息熵
信息熵的计算公式: H ( x ) = ∑ i = 1 n p ( i ) log 2 p ( i ) H(x) = {\rm{ - }}\sum\limits_{i = 1}^{\rm{n}} {p(i)\log _2 p(i)} H ( x ) = i = 1 ∑ n p ( i ) lo g 2 p ( i ) X a 1 a_1 a 1 a 2 a_2 a 2 a 3 a_3 a 3 a 4 a_4 a 4 P(X) 1 2 \frac{1}{2} 2 1 1 4 \frac{1}{4} 4 1 1 8 \frac{1}{8} 8 1 1 8 \frac{1}{8} 8 1 class test { public static void main ( String [] args ) { double [] p = { 1.0 / 2 , 1.0 / 4 , 1.0 / 8 , 1.0 / 8 }; double H = 0 ; for ( int i = 0 ; i < p . length ; i ++) { H += - p [ i ] * ( Math . log ( p [ i ]) / Math . log ( 2 )); } System . out . println ( H ); } } 实战演练: 一字符串由大写字母、小写字母和数字组成