← Все публикации

Минилайфхак из теории алгоритмов для изучении языка

Знаете, что общего между изучением языков и оптимизацией алгоритмов? Я сегодня вспомнил про одну приколюху и решил ей поделиться тут.

Когда я учил испанский в универе, у меня была забавная проблема с числами. Выучив их по порядку, я потом так и вспоминал: чтобы сказать "16" или "17", приходилось мысленно отсчитывать от единицы, иногда даже загибая пальцы. Как будто на курсы счёта записался, а не на ин-яз. В итоге "uno" я конечно выдавал быстрее, чем "dieciséis". Со временем стало легче, но всё равно часто используемые числа (2, 4, 5, 8) находились в голове быстрее, чем редкие.

Когда взялся за шведский, решил быть хитрее. Избегал механического заучивания чисел подряд, вместо этого выучил свой номер телефона и дату рождения. Правда, возникали забавные пробелы: однажды в Макдаке не мог вспомнить слово "четыре" (ни на шведском, ни даже на английском!), зато прекрасно помнил "двадцать". На испанском.

Но в итоге добился своего: числа стал извлекать из памяти за константное время. Правда, иногда система сбоит. Вот сегодня кто-то диктовал мне номер, и я прямо чувствовал, как в голове крутятся шестерёнки: "Это 'tju-sju'? Значит, шу-ху, двадцать... сколько? Двадцать три? Нет, было бы 'tjugotre'... А, 'tjugosju', да, точно, двадцать семь!"
Похожая история с неправильными глаголами. Помните это школьное "be-was-were-been", "buy-bought-bought"? Зубрёжка создаёт привычку мысленно "прокручивать" всю цепочку до нужной формы при составлении предложения.

В общем, это же чистая теория алгоритмов! С числами на шведском у меня получилась хеш-таблица с доступом O(1), но нужно держать в голове всю таблицу. А с испанским — простой алгоритм "досчитать до нужного числа" со сложностью O(N), зато меньшими затратами памяти.

Так что в следующий раз, когда будете учить язык, попробуйте сразу запомнить свой возраст, номер телефона или год рождения. Глядишь, и считать в уме перестанете. А то как-то не солидно на пальцах загибать, верно?

Этот же пост в Telegram ↗