Алгоритмы и Программирование?

Сейчас я изучаю С#. Во общем учил я учил и решил написать сам программу. Программа должна была рассчитывать последовательность Фибоначи до заданного числа. Начал писать и нагородил такого, с массивами, классами и прочим, что плюнул и посмотрел в интернете решение. Оказалось блин, все очень просто в одну функцию + чуть чуть пришлось изменить под мое условие.

Знакомый программист сказал, что я не знаю алгоритмов. Я начал искать материал по данному вопросу и нашел «Искусство программирования. Тома 1-4» Кнут Д…

Вопросы:

1. С какого тома лучше начать начинающему программисту, чтобы начать правильно думать и строить алгоритмы?(А то 2929 страниц просто угнетают если с начало до конца читать )

2. Может есть какие нибудь более подходящие книги или статьи или еще что — нибудь, для начинающего программиста, по данной теме?
  • Вопрос задан
  • 26384 просмотра
Пригласить эксперта
Ответы на вопрос 7
nickme
@nickme
Кнут — это сурово для начинающего, как мне кажется. Попробуйте Седжвика или Кормена…
Ответ написан
Комментировать
ixSci
@ixSci
Мне кажется лучше начинать с Кормена, а не Кнута. Или еще с кого попроще, можно с какого-нибудь буржуйского учебника по дискретной математике(буржуйского, потому, что там книги в себе много объединяют и разжёваны как для младенцев)
Ответ написан
un1t
@un1t
Да все нормально, просто опыта не хватает, алгоритмы тут не причем. Нужно больше практики. И чужой код смотреть полезно.
Ответ написан
Комментировать
Arktos
@Arktos
Для начинающего по алгоритмам посоветую Иванов «Дискретная математика»
Ответ написан
Комментировать
@KirEv
В вашем случае, проблема с пониманием рекурсии.
Для фибоначи — рекурсивная функция в одну строчку.

Алгоритмы знать полезно тем, что из всех наиболее известных алгоритмов сортировки или поиска можно выбрать тот, который больше всего подходит/понравился, останется закодить по готовой схеме.

Понимание конструкций и возможностей языка — куда более выгодный вектор развития, если это освоить, получится самостоятельно придумывать и реализовывать алгоритмы, а там уже и Кнута почитать полезно.
Ответ написан
@miroshnik
android/java dev
Кнут очень трудный для понимания... Он даже спецовую дополнительную книгу написал в которой материал для подготовки к чтению его основных книг)
Начните читать Кормена "Алгоритмы. Построение и анализ". Если покажется слишком сложным, то тогда одну из этих книг:
Вирт Н. - Алгоритмы и структуры данных
Дж. Макконнел Основы современных алгоритмов

Во всех этих книгах есть описания самих алгоритмов/структур данных и псевдокод этого всего. Будет очень полезно, если вы 65% алгоритмов из книги закодите самостоятельно, смотря на псевдокод или описание. Таким образом вы прокачаете и алгоритмы и особенности выбранного языка)

P.S. Насчет дополнительной книги мог спутать с каким-то другим автором)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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