0

На пути в FAANG 9

Серия На пути к FAANG

Итак, за спиной еще неделя.

Тема графов оказалась не такой уж и простой, как я думал - сбивает с толку то, что каким-то образом это, блин, не отдельная структура данных! Обычно графы даются как набор граней (то есть тупо двухмерный массив), и нужно проделать несколько телодвижений, чтобы превратить это в мапу и начать уже BFS/DFS. Зато алгоритмы Прайма/Крускала оказались очень и очень легкими.

Вообще, именно топик с графами подсвечивает мне одну интересную проблему - говорят, что образцовое решение Medium алгоритма за редкими исключениями должно умещаться в 30 строчек. Каким образом в эти 30 строчек впихнуть, например, самописный класс UnionFind - хрен его знает. Тут либо оговаривать, что "это не считается", либо предлагать интервьюеру использовать воображение.

Еще забавно, что пока я грызу графы на LeetCode, добрые люди в Educative взяли и расширили несколько уже пройденных топиков моего курса. Топик по DP, например, разросся в два раза. Придется возвращаться и дорешивать, но я в целом не против. Вообще DP мне прям нравится, как и в принципе все рекурсивное (подход bottom-up заходит меньше, хотя не могу отрицать его изящность в некоторых случаях). Смешно вспоминать, что когда-то сама концепция рекурсии плотно выносила мне мозг. Даже жаль, что в работе ее практически не приходится использовать.

Сегодня пришла в голову идея подговить себе шпаргалки типа "Название алгоритма -> Алгоритм -> Применение". Ну то есть например:

BFS -> закидываем стартовый элемент в стек, далее в цикле -> вытаскиваем элемент из стека -> закидываем в стек соседей, удовлятворяющих условиям -> повторяем, пока не находим то, что нужно.

То же самое неплохо было бы сделать по паттернам типа бэктрекинга, которые скорее концепция, чем непосредственно алгоритм.

Собственно, выучить это все - и дело в шляпе. Звучит просто, но мне повезет, если я управлюсь до конца года. Впрочем, в этом же и кайф.

Лига программистов

2.3K поста12K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества