@mister36
Python junior developer

Теория алгоритмов. С чего начать и какой язык выбрать?

Всем привет! Заинтересовался теории алгоритмов, мне кажется, что это довольно интересно. В связи с этим возник вопрос о том с чего же начать. С какой литературы, а самое главное какой язык выбрать для изучения и реализации алгоритмов? Хорошо ли для этого подходит язык С? Или есть специальный язык для обучение алгоритмам. Было бы здорово изучить язык, который максимально заточен для исследования теории алгоритмов.
Спасибо за внимание.
  • Вопрос задан
  • 4305 просмотров
Решения вопроса 2
gbg
@gbg Куратор тега Программирование
Любые ответы на любые вопросы
Теория алгоритмов работает и вовсе с абстрактными машинами Поста и Тьюринга, ЯП для нее не нужен.

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

Языки, близкие к железу, вроде C и С++ наоборот, позволяют реализовывать алгоритмы, максимально задействуя аппаратные возможности платформы. Такой программист менее эффективен (выдает меньше реализованных задач в единицу времени), зато его код эффективен, и может задействовать все возможности железа.

Написание кода на C и C++ предъявляет больше требований к программисту и качеству его работы, заставляет учитывать больше мелочей и больше дисциплинирует. В этом смысле, такие языки лучше подходят в качестве учебных.
Ответ написан
Комментировать
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
  • Начинать так - прогуглить пяток сортировок и реализовать на языке на котором пишете, потом написать свою как оптимизированную композицию двух существующих и опубликовать на хабре, так все начинают.))
  • Осваивать например с Седжвиком или Корменом. Седжвик есть под Java и есть под C++, на coursera есть бесплатный курс, читает автор на Java.
  • Вирт - это библия, у каждого должна иметься, но редко кто осилил от корки до корки, написано под С.
  • С теорией вычислений в массачусетском технологическом знакомятся по SICP. Книжка под scheme, переведена на русский. Есть курс начитанный авторами. На scheme вы потом вряд ли будете писать, но это как pascal в российских школах.
  • Исследование алгоритма, то есть доказательство его корректности, оценка NP-сложности, поиск плохих и хороших для него наборов данных выполняется математическими и статистическими методами в основном на бумаге с калькулятором, но что нибудь специально_функциональное вроде Haskell, MatLab наверное могут помочь. На практике этим(исследованием) редко занимаются - работает и в продакшн.))
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@beduin01
Python весьма прост для того, чтобы алгоритмы изучить. Порог вхождения минимален.
Ответ написан
1eqinfinity
@1eqinfinity
sound design, music, DSP
Этот вопрос тут так часто задается, что кажется, будто никто не пользуется поиском.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы