Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Изучаем алгоритмы

  • Swift Algorithm Club | Github

    • Цель этого проекта - объяснить, как работают алгоритмы. Основное внимание уделяется четкости и удобочитаемости кода.
  • Порешать задачки можно тут | Leetcode

    • Обязательно набить руку на easy.
    • Желательно попробовать medium - комбинация простых алгоритмов/структур данных.
    • Hard - необязательно, самые хардовые алгоритмы.
  • Алгосики для самых маленьких | Youtube

    • Простым и понятным языком, автор канала погружает в мир алгоритмов.
  • Грокаем алгоритмы

    • Эта книга написана для тех, кому нужен быстрый старт в основы алгоритмизации и программирования. Данная книга подойдёт как для тех, кто только начинает программировать, так и для тех, кто уже является опытным разработчиком, так как материал в книге всегда является актуальным и востребованным.
  • Introduction to Algorithms

    • Данный труд удачно совмещает в себе описание разнообразных алгоритмов и отличное качество изложения, делающее книгу доступной для читателей разного уровня подготовки. Все алгоритмы описаны простым языком и сопровождены примерами псевдокода.
  • Открытое алгоритмическое собеседование | Youtube

    • Краткий конспект по видео:
      • Кандидату нужно:
        • Уметь оценивать решение / код по затратам на время и память (асимптотитка).
        • Уметь использовать базовые техники программирования:
          • Рекурсия,
          • Базовые структуры данных (динамический массив, список, стэк, ассоциативный массив)
          • Редко, но бывают: графы, динамическое программирование, деревья поиска.
      • Проверяется:
        • Умение кандидата уточнить задачу при её постановке.
        • Умение кандидата грамотно прояснить решение задачки.
        • Умение составлять тест-кейсы на написанный им же код к задачке.
        • Умение написать правильный код (без синтаксических ошибок).
        • Умение проверить свой код осмысленным прочтением вслух (с комментариями).
        • Умение исправить баг, а также проанализировать код на наличие скрытых брешей, которые могут проявиться в будущем и потребуют дописывания «костылей» программистом: например, дополнительных if-конструкций на обработку таких промахов, что, по сути своей, будет являться следствием недостаточного анализа предварительного решения при написании кода изначально.
    • Дополнительно:
      • Необходимо помнить про сложности, связанные с операциями со структурами данных, ассоциативным массивом, ассоциативным массивом на хэш-таблице, ассоциативным массивом на дереве поиска, операциями на линейных структурах данных, сортировку.
      • Перед непосредственным написанием кода кандидат должен озвучить вариант своего решения (своей идеи) интервьюеру!
  • [Тренировка алгоритмов от Яндекса, 8 лекций с домашними заданиями и 4 разбора заданий.]