Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // запускать программу надо так: node Entropy.js abrakadabra
- let arg = process.argv;
- input = arg[2]; // входная строка
- letters = new Array(); // тута будут храниться кол-ва всех встречающихся букв
- let lenghtLetters = 0; // длина массива letters
- for (let i = 0; i < input.length; i -= -1)
- {
- if (letters[input.charAt(i)])
- letters[input.charAt(i)]++;
- else
- {
- letters[input.charAt(i)] = 1;
- lenghtLetters++;
- }
- }
- let entropy = 0;
- if (lenghtLetters > 0) // просто реализация формулы Энтропия = -1 * (sum_(k от 1 до lenghtLetters) [p{i} * log(p{i}) / log(lenghtLetters)] )
- {
- for (let element in letters)
- {
- entropy -= letters[element] * Math.log(letters[element]);
- entropy /= Math.log(lenghtLetters);
- }
- }
- console.log(entropy);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement