pb1a38a600

A step-by-step look at word frequency counting

Nov 9th, 2026
9
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. A step-by-step look at word frequency counting
  2.  
  3. Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.
  4.  
  5. Задача
  6.  
  7. Дан текст. Посчитать, сколько раз встречается каждое слово, и вывести слова по убыванию частоты.
  8.  
  9. Решение
  10.  
  11. ``python
  12. from collections import Counter
  13.  
  14. def word_count(text: str) -> list[tuple[str, int]]:
  15. words = text.lower().split()
  16. return Counter(words).most_common()
  17.  
  18. print(word_count("a b a c b a"))
  19. `
  20.  
  21. Как это работает
  22.  
  23. Текст разбивается на слова, Counter подсчитывает вхождения за линейное время, а most_common() сразу возвращает отсортированный список пар.
  24.  
  25. Пример работы
  26.  
  27. `text
  28. [('a', 3), ('b', 2), ('c', 1)]
  29. ``
  30.  
  31. Сложность
  32.  
  33. O(n) по времени по числу слов, O(k) по памяти по числу уникальных.
  34.  
  35. Разбор по шагам
  36.  
  37. 1. Шаг 1. Входные данные. Проверяем, что приходит в функцию, и какие значения считаются корректными.
  38. 2. Шаг 2. Основной цикл. Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
  39. 3. Шаг 3. Результат. Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.
  40.  
  41. Когда каждый шаг понятен, доработка решения перестаёт быть лотереей.
  42.  
  43. View Full Gallery → https://go.cbrop.com/prse
  44.  
  45. Related:
  46.  
  47. https://mycommunitycalendars.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/zuribellarose-naked-85f8da.pdf
  48. https://hey.xyz/posts/ap70bw8zrneq1envk2
  49. https://mycommunitycalendars.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/jinnsart-0684e9.pdf
  50. https://yakihonne.com/article/naddr1qvzqqqr4gupzqkycgszl0nd79nj0u4lr6tth2mqn0pwm74raxlcpu4z85gdkxfscqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkvde3vfskzef395exxvtx956r2cej94sngdp395uxzcn9xyenzvpnv9jkgg49lte
  51. https://pastebin.com/sGxeUL83
  52.  
Advertisement
Add Comment
Please, Sign In to add comment