RFC: Подраздел «Алгоритмы»
По мотивам #2216
Назрел запрос на обзор базовых алгоритмов. Эта задача для определения подхода и первого набора статей.
Подход
Большой фокус нужно уделить демо материалам. Наша цель — дать интуицию, как это работает, чтобы читатель мог на пальцах рассказать принцип работы. Техническая реализация второстепенна
План
- [ ] #2269
- [ ] Бинарный и линейный поиск #2216
- [ ] Базовые алгоритмы сортировки
- [ ] Алгоритмы динамического программирования
- [ ] База про деревья
Давайте обсуждать и 8 ноября выработаем финальное решение
А мы хотим сделать упор на практику или теорию тоже дать? Я, например, о всяких P/NP и оптимальном времени.
Большой фокус нужно уделить демо материалам. Наша цель — дать интуицию, как это работает, чтобы читатель мог на пальцах рассказать принцип работы.
Согласен. Видео-демки или интерактивные демки — будет самое то. Тот же бинарный поиск (или сортировка / коммивояжёр, решённые разными способами) запомнятся по крайней мере.
План
Я бы, может, деревья повыше в приоритете поднял. Мне, например, с деревьями приходилось работать, а вот массивы сортировать собственными алгоритмами — нет 😃
Но это только мнение. Я понимаю, что проще идти по нарастающей в плане сложности.
Зачем изучать алгоритмы
И заодно — «что значит “изучать”» :—)
А мы хотим сделать упор на практику или теорию тоже дать? Я, например, о всяких P/NP и оптимальном времени.
Думаю опять-таки базовую интуицию стоит дать. Не уверен, что это включает P/NP, но точно включает асимптотическую оценку сверху
Базовое понимание и пара примеров — более чем достаточно, чтобы понять, что «вот эта задача не может быть решена оптимально» :–)
Мне кажется это тема не нужна, так как уже есть отличный проект от яндекса https://education.yandex.ru/handbook/algorithms Там теория и практика. Материала для базы по алгоритмам более чем достаточно. А дополнительно попрактиковаться можно на coderun.
#2216 тоже к этой теме