Частотный словарь

Определение понятия «частотный словарь» можно посмотреть в Википедии.

Реализовывалось на своем АВЛ-дереве.

Сначала надо распарсить строку на слова, которые удовлетворяют условию задачи 1. Потому, надо с помощью структуры данных как map реализовать дерево, поддерживающее ключ -> значение структуру. АВЛ-дерево в каком-то роде схоже с map, так что можно использовать его. Правда оно не имплемирует ни одного интерфейса, которые имплемирует map. Разбив текст на слова и добавив их в дерево с количеством их вхождений мы можем вывести частоту каждого из них. Для хранения общего количества слов используется переменная внутри словаря. Библиотека имеет один метод для получения результата — это по заданному слову выдать частоту его вхождения. Если необходимо вывести все слова в словаре, то тогда можно расширить класс АВЛ-дерева.

#include <iostream>
using namespace std;int main() {for( int i = 0; i < 10; i++ )
{
if( i % 2 == 0 )
{
cout << “Even” << endl;
}
else
{
cout << “Odd” << endl;
}
}
return 0;
}%EOF%

 

0 3 0.1111111111111111
10 1 0.037037037037037035
2 1 0.037037037037037035
Even 1 0.037037037037037035
Odd 1 0.037037037037037035
cout 2 0.07407407407407407
else 1 0.037037037037037035
endl 2 0.07407407407407407
for 1 0.037037037037037035
i 4 0.14814814814814814
if 1 0.037037037037037035
include 1 0.037037037037037035
int 2 0.07407407407407407
iostream 1 0.037037037037037035
main 1 0.037037037037037035
namespace 1 0.037037037037037035
return 1 0.037037037037037035
std 1 0.037037037037037035
using 1 0.037037037037037035
aaa for bbb aaa for if
%EOF%
aaa 2 0.3333333333333333
bbb 1 0.16666666666666666
for 2 0.3333333333333333
if 1 0.16666666666666666

 

Ссылка на ideone.

One thought on “Частотный словарь

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *