pb62196676

Two approaches to word frequency counting

Nov 5th, 2026
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. Two approaches to 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. Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.
  38.  
  39. Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.
  40.  
  41. View Full Gallery → https://go.cbrop.com/prse
  42.  
  43. Related:
  44.  
  45. https://sway.cloud.microsoft/KFiR1yy3Et5Vha3c
  46. https://pastebin.com/MugPzCMq
  47. https://yakihonne.com/article/naddr1qvzqqqr4gupzq4vpl2dn4zv5ffg784n83faazln7x87pyexjttqxfqqz243tnmn9qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknjvnxxucxzvn9956kzvn9956rqvty95urvd3c95erjwp5vv6xgepkxymrgq6slnf
  48. https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/word-count-oshibki-mw3zg5os.md
  49. https://posts.workshop-hub.workers.dev/factorial-oshibki
  50.  
Advertisement
Add Comment
Please, Sign In to add comment