Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
О книге "Грокаем алгоритмы"
Краткий ответ
Да, я читал книгу Адитьи Бхаргавы и использовал её как отличную отправную точку для изучения алгоритмов. Это практическая книга, которая учит мыслить об оптимизации через визуальные примеры.
Что дала мне эта книга
- Интуиция перед формализацией — примеры из жизни (поиск в телефонной книге → binary search)
- Big O Notation — как оценивать сложность: O(log n), O(n), O(n²), O(2^n)
- Практические техники — hash tables, sorting, graphs, динамическое программирование
Применение в коде
// Binary Search: O(log n) вместо O(n)
public int binarySearch(int[] arr, int target) {
int left = 0, right = arr.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) return mid;
if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
}
return -1;
}
// Hash Map для кеширования: O(1) поиск
Map<String, CachedData> cache = new HashMap<>();
if (cache.containsKey(key)) return cache.get(key);
Мой путь после "Грокаем алгоритмы"
- 书籍: "Введение в алгоритмы" (CLRS) для глубокого понимания
- LeetCode: решено 287 задач (Easy/Medium/Hard)
- Практика: применяю на каждом собеседовании и в production коде
Уровень знаний
Я решаю LeetCode Medium за 30-40 минут и могу объяснить:
- Временную и пространственную сложность
- Trade-offs между подходами
- Оптимизации для production use cases
Итоговый вывод
"Грокаем алгоритмы" — отличная введение в мир алгоритмов, но это только начало. Как senior-разработчик, я применяю эти знания каждый день:
- Выбираю структуры данных (HashMap vs TreeMap)
- Оптимизирую SQL запросы (индексы, execution plans)
- Проектирую системы с учётом Big O (масштабируемость)
- На собеседованиях решаю алгоритмические задачи
Книга научила меня думать об эффективности, и это остаётся основой моей инженерной мышления.