← Назад к вопросам

Читал ли книгу "Грокаем алгоритмы"

1.3 Junior🔥 61 комментариев
#Другое

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

О книге "Грокаем алгоритмы"

Краткий ответ

Да, я читал книгу Адитьи Бхаргавы и использовал её как отличную отправную точку для изучения алгоритмов. Это практическая книга, которая учит мыслить об оптимизации через визуальные примеры.

Что дала мне эта книга

  1. Интуиция перед формализацией — примеры из жизни (поиск в телефонной книге → binary search)
  2. Big O Notation — как оценивать сложность: O(log n), O(n), O(n²), O(2^n)
  3. Практические техники — 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 (масштабируемость)
  • На собеседованиях решаю алгоритмические задачи

Книга научила меня думать об эффективности, и это остаётся основой моей инженерной мышления.