Пост

Алгосы от Влада. Введение

Оглавление

  • Введение
  • Скользящее окно
  • Два указателя или итератор
  • Быстрый и медленный указатель
  • Мерж интервалов
  • Циклическая сортировка
  • Инвертирование связанного списка на месте
  • Дерево BFS
  • Дерево DFS
  • Две кучи
  • Подмножества
  • Модифицированный бинарный поиск
  • Побитовый XOR
  • Лучшие элементы К (top K elements)
  • k-образный алгоритм слияния (K-Way merge)
  • 0 or 1 Knapsack (Динамическое программирование)
  • Топологическая сортировка

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

Одним из результатов этого стало то, что теперь разработчики часто проводят недели, изучая сотни вопросов для собеседования на сайтах вроде LeetCode. Одна из самых распространенных причин беспокойства разработчиков, с которыми я общался, перед собеседованием - это вопрос: достаточно ли я решил практических вопросов? Мог ли я сделать больше?

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

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

Конечно-же без каких-либо копирайтов и прочего барахла. Все как вы любите, мои дорогие папищики, самая мякотка :)

Авторский пост защищен лицензией CC BY 4.0 .

Популярные теги