У меня уже есть знания об основных алгоритмах. Теперь я планирую изучить более продвинутые алгоритмы и решаю перейти к разделу Введение в алгоритмы .
Я не уверен, мне нужно обновить математические навыки, прежде чем читать эту книгу или нет? (Я почти забываю математику, которую изучаю в старших классах и колледжах). Если этой книге нужны глубокие знания по математике, предложите, пожалуйста, предметы, которые принесут пользу
Я хочу узнать о реализации, разработке и анализе алгоритмов.
algorithms
math
skills
анонимное
источник
источник
Ответы:
Курс MIT, в котором используется книга CLR, имеет определенный обязательный курс. Учебник, используемый этим обязательным курсом, доступен бесплатно.
Вот:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/
Обязательный курс обязательного курса - исчисление с одной переменной.
источник
Как @ user16764 ссылается на конкретные предложения курса MIT (6.042) , версию того, что обычно называют дискретной математикой. , в сочетании с исчислением первого года (университета) уровня являются основными требованиями для понимания многих (основных) алгоритмов и их анализ.
Специализированные или продвинутые алгоритмы могут потребовать дополнительных или расширенных математических знаний, таких как статистика / вероятность (научное и финансовое программирование), абстрактная алгебра и теория чисел (т.е. для криптографии).
Будучи студентом, у моего курса по дискретной математике был учебник « Дискретная математика с приложениями » Сюзанны Эпп, а другой учебник, который я нашел в своей библиотеке, был « Дискретная математика » Кеннета Росса и Чарльза Райта. Достаточно качественная использованная копия одного из них, вероятно, является разумным местом для начала (с или без использования MIT Open Course Ware, в зависимости от вашего стиля обучения). Для самообучения я часто нахожу, что наличие двух источников, на которые можно сослаться, может помочь прояснить моменты, которые у меня возникают проблемы с пониманием.
Предложенная мною альтернатива - « Конкретная математика» , второе издание Рональда Л. Грэма, Дональда Э. Кнута и Орен Паташник. Я не могу найти свою копию на данный момент, и не усердно проработал ее, поэтому не могу дать рекомендации за или против.
Из предисловия:
В этой записи блога « Книги, которые программисты на самом деле не читают », я буду принимать к сведению проклятые комментарии Билла Ящерицы . Лично я все еще нахожу Алгоритмы Роберта Седжвика (теперь 4-е изд.) Менее пугающими и более доступными.
Что касается непрерывной (то есть действительных чисел) части математики, исчисление Стюарта, кажется, часто используется для чтения лекций студентам о просвещении, которое происходит от дифференциации и интеграции.
источник
Это не столько математика как таковая, сколько комфорт и беглость с математическим формализмом. Изучите базовую терминологию и соответствующий формализм.
Анализ алгоритмов, особенно в контексте теории сложности, в которой вы изучаете основную вычислительную проблему (если вы пытаетесь сделать что-то более существенное, чем нотация Big-Oh), требует значительных затрат времени на теорию графов. и абстрактная алгебра, все в дополнение к огромной дозе врожденной сообразительности.
источник
Я полагаю, что вы готовы, если вы не озабочены «анализом» алгоритмов, а не только их реализацией. Этот курс обычно для нас и UD математика или CS курс в большинстве учебных программ колледжа.
Просто понимание того, как реализовать алгоритмы в этой книге, не должно быть проблемой
источник