Как @ user16764 ссылается на конкретные предложения курса MIT (6.042) , версию того, что обычно называют дискретной математикой. , в сочетании с исчислением первого года (университета) уровня являются основными требованиями для понимания многих (основных) алгоритмов и их анализ.
Специализированные или продвинутые алгоритмы могут потребовать дополнительных или расширенных математических знаний, таких как статистика / вероятность (научное и финансовое программирование), абстрактная алгебра и теория чисел (т.е. для криптографии).
Будучи студентом, у моего курса по дискретной математике был учебник « Дискретная математика с приложениями » Сюзанны Эпп, а другой учебник, который я нашел в своей библиотеке, был « Дискретная математика » Кеннета Росса и Чарльза Райта. Достаточно качественная использованная копия одного из них, вероятно, является разумным местом для начала (с или без использования MIT Open Course Ware, в зависимости от вашего стиля обучения). Для самообучения я часто нахожу, что наличие двух источников, на которые можно сослаться, может помочь прояснить моменты, которые у меня возникают проблемы с пониманием.
Предложенная мною альтернатива - « Конкретная математика» , второе издание Рональда Л. Грэма, Дональда Э. Кнута и Орен Паташник. Я не могу найти свою копию на данный момент, и не усердно проработал ее, поэтому не могу дать рекомендации за или против.
Из предисловия:
Но что конкретно представляет собой конкретная математика? Это смесь непрерывной и дискретной математики. Конкретнее, это управляемое манипулирование математическими формулами с использованием набора методов для решения задач.
В этой записи блога « Книги, которые программисты на самом деле не читают », я буду принимать к сведению проклятые комментарии Билла Ящерицы . Лично я все еще нахожу Алгоритмы Роберта Седжвика (теперь 4-е изд.) Менее пугающими и более доступными.
Что касается непрерывной (то есть действительных чисел) части математики, исчисление Стюарта, кажется, часто используется для чтения лекций студентам о просвещении, которое происходит от дифференциации и интеграции.