РУҚА
Тапсырмалар № 10, 19 · ЕГЭ

Кесте частот символов

Как посчитать, сколько раз встречается каждый символ, и использовать эти данные в задачах ЕГЭ
6 мин чтенияҚиындық: Обновлено 29 қыркүйек 2026

Таблица частот символов показывает, сколько раз каждый символ встречается в строке. Она помогает решать задачи на подсчёт вариантов, выбор символов с заданными свойствами и анализ строк; перед изучением полезно повторить частоту символов и абсолютную частоту.

Основные понятия

Пусть дана жол длины \(n\). Рассмотрим некоторый символ \(c\). Число его появлений в строке называют абсолютной частотой символа. Например, в строке «АБРАКАДАБРА» буква «А» встречается пять раз, поэтому её абсолютная частота равна \(5\).

D
Абсолютная частота

Абсолютная частота символа \(c\) — это количество позиций строки, в которых стоит символ \(c\). Обозначают её, например, \(f(c)\) немесе \(n_c\).

Относительная частота показывает долю всех символов строки, приходящуюся на символ \(c\). Она равна отношению абсолютной частоты к длине строки. Относительную частоту можно записывать десятичной дробью, процентом или обыкновенной дробью.

\[p(c)=\frac{f(c)}{n}\]
T
Проверка таблицы частот

Если таблица содержит все различные символы строки, сумма абсолютных частот равна длине строки. Сумма относительных частот равна \(1\), или \(100\%\).

\[\sum_{c} f(c)=n,\qquad \sum_{c} p(c)=1\]
СимволАбсолютная частотаОтносительная частота
А5\(5/11\approx45{,}5\%\)
Б2\(2/11\approx18{,}2\%\)
Р2\(2/11\approx18{,}2\%\)
К1\(1/11\approx9{,}1\%\)
Д1\(1/11\approx9{,}1\%\)

В таблице выше использована жол «АБРАКАДАБРА» длины \(11\). Символы перечислены без повторений, а их частоты в сумме дают \(11\).

Как построить таблицу частот

Есть два распространённых способа. Первый — ручной: выписать различные символы и для каждого посчитать появления. Второй — алгоритмический: завести массив или словарь счётчиков и просмотреть строку слева направо.

  1. Определите, какие символы разрешены: например, только заглавные латинские буквы, цифры или все символы строки.
  2. Создайте счётчик для каждого разрешённого символа и установите его в ноль.
  3. Для каждого символа строки увеличьте соответствующий счётчик на единицу.
  4. Выведите символы и ненулевые значения счётчиков.
  5. Проверьте результат: сумма счётчиков должна совпадать с длиной строки.

Если алфавит заранее известен, удобно использовать массив. Для английских заглавных букв достаточно массива из \(26\) элементов. Индекс символа можно получить преобразованием в код: например, для символа \(A\) индекс равен \(0\), для \(B\) — \(1\) и так далее. Если набор символов неизвестен, удобнее словарь.

Python
1s = input().strip()
2count = {}
3
4for ch in s:
5    count[ch] = count.get(ch, 0) + 1
6
7for ch in sorted(count):
8    print(ch, count[ch])
Как не ошибиться с символами

Заранее решите, различаются ли регистр, пробелы и знаки препинания. В Python символы «А» и «а», а также пробел и точка — разные ключи словаря. Если по условию регистр не важен, сначала приведите строку к одному регистру.

Проверь себя

В строке длины \(20\) символ \(x\) встречается \(7\) раз. Чему равна его относительная частота?

Кесте нұсқа и подсчёт способов

В экзаменационных задачах таблицу частот часто используют как таблицу вариантов: каждому символу сопоставляют число его появлений. Если нужно выбрать одну позицию строки с заданным символом, число вариантов равно его абсолютной частоте. Если требуется выбрать позицию не с этим символом, используют дополнение: \(n-f(c)\).

D
Кесте нұсқа

Таблица вариантов — это представление возможных объектов и количества способов выбрать каждый объект. Для строки объектами могут быть символы, а числом вариантов — их абсолютные частоты.

Для двух условий количество вариантов зависит от того, независимы ли условия и пересекаются ли соответствующие группы. Например, число позиций с гласной буквой и цифрой одновременно равно нулю, если строка состоит только из букв и цифр. Если группы не пересекаются, их количества складывают; если одна группа является частью другой, применяют разность.

\[N(\text{не }c)=n-f(c)\]
\[N(A\cup B)=N(A)+N(B)-N(A\cap B)\]

В задачах на перестановки частоты помогают заметить повторяющиеся символы. Например, если нужно определить, сколько различных символов есть в строке, надо посчитать ненулевые частоты, а не складывать сами символы. Такая задача связана со страницей подсчёт различных символов.

Разобранный пример

№
Тапсырма экзаменационного типа

Дана жол ABBAACDAB. Составьте таблицу абсолютных частот символов. Определите, сколько позиций содержат символ, встречающийся чаще всего, и какова относительная частота символа \(C\).

1
Сначала выписываем символы строки по порядку и отмечаем новые символы: \(A\), \(B\), \(C\), \(D\).
\(\displaystyle s=\text{ABBAACDAB},\qquad n=9\)
2
Подсчитываем появления каждого символа.
\(\displaystyle f(A)=4,\quad f(B)=3,\quad f(C)=1,\quad f(D)=1\)
3
Проверяем таблицу: сумма частот должна быть равна длине строки.
4+3+1+1=9
4
Находим максимальную частоту. Жиі кездесетіні встречается символ \(A\).
\(\displaystyle \max\{4,3,1,1\}=4\)
5
Вычисляем относительную частоту символа \(C\).
\(\displaystyle p(C)=\frac{f(C)}{n}=\frac{1}{9}\approx0{,}111=11{,}1\%\)
СимволABCD
Абсолютная частота4311
Относительная частота\(4/9\)\(3/9\)\(1/9\)\(1/9\)

Жауабы: чаще всего встречается \(A\), таких позиций \(4\); относительная частота \(C\) равна \(1/9\), или примерно \(11{,}1\%\). Если сұрақ просит число символов, которые встречаются ровно один раз, ответ равен \(2\): это \(C\) и \(D\).

Показать альтернативное Шешім программой Python
Python
1s = "ABBAACDAB"
2count = {}
3for ch in s:
4    count[ch] = count.get(ch, 0) + 1
5
6most = max(count.values())
7print(count)
8print(most)
9print(count["C"] / len(s))

Типичные формулировки и алгоритмы

  • «Какой символ встречается чаще всего?» — найти максимальное значение частоты.
  • «Сколько различных символов?» — посчитать количество символов с ненулевой частотой.
  • «Сколько символов встречается ровно \(k\) раз?» — подсчитать частоты, равные \(k\).
  • «Сколько позиций не занято символом \(c\)?» — вычислить \(n-f(c)\).
  • «Какова доля символа?» — разделить его абсолютную частоту на длину строки.
  • «Какой символ встречается первым среди имеющих максимальную частоту?» — просматривать строку слева направо и обновлять ответ только при строго большем счётчике.
!
Частые ошибки

1. Путать абсолютную и относительную частоту: абсолютная — целое число появлений, относительная — доля. 2. Делить на число различных символов вместо длины строки. 3. Забывать про пробел или перевод строки, если они входят в данные. 4. Считать одинаковые символы разными из-за регистра. 5. Не проверять сумму частот. 6. При поиске максимума терять требование «первый» или «последний» символ при равенстве.

Главное правило

Сначала считайте абсолютные частоты, затем из них получайте всё остальное: относительную частоту, максимум, минимум, число редких символов и количество вариантов.

Связь с другими задачами по строкам

Кесте частот является базовым инструментом для проверки анаграмм: две строки являются анаграммами, если частоты всех символов в них совпадают. При проверке вхождения символа достаточно найти его частоту и проверить, что она ненулевая. В задачах на сравнение строк частоты не заменяют посимвольное сравнение, потому что одинаковые таблицы ещё не гарантируют одинаковый порядок символов.

Для более длинных условий обработки сначала строят таблицу частот, а затем выполняют дополнительные действия. Такие задачи относятся к сложной обработке строк.

Q
Жылдам тест по теме

Быстрая проверка

~ 2 мин4 вопроса
Вопрос 1 / 4
Вопрос 1 из 4 · формула
В строке длины \(12\) символ встречается \(3\) раза. Какова относительная частота?
Главное за минуту

Кратко

  • Абсолютная частота — число появлений символа; относительная частота — отношение этого числа к длине строки.
  • Сумма абсолютных частот равна длине строки, а сумма относительных частот равна \(1\).
  • Кесте нұсқа связывает символ с числом позиций, в которых он встречается.
  • Для дополнения используйте \(n-f(c)\), а для объединения групп — формулу включений и исключений.
  • Сначала стройте таблицу частот, затем отвечайте на вопросы о максимуме, редких символах, долях и количестве способов.