Як @ user16764 натякає на посилання на конкретні пропозиції з курсу MIT (6.042) , версія того, що зазвичай називають дискретною математикою , у поєднанні з численням першого курсу (університетського) рівня є головними вимогами до розуміння багатьох (базових) алгоритмів та їх аналіз.
Спеціалізовані або вдосконалені алгоритми можуть вимагати додаткового або розширеного математичного підґрунтя, наприклад, у статистиці / ймовірності (науково-фінансове програмування), абстрактній алгебрі та теорії чисел (тобто для криптографії).
У студентському курсі з моєї дискретної математики був підручник « Дискретна математика з додатками » Сюзанні Епп, а ще один підручник, який я знайшов у своїй бібліотеці, - « Дискретна математика » Кеннета Росса та Чарльза Райт. Пристойна якісна використана копія однієї з них, ймовірно, є розумним місцем для початку (із поєднанням із відкритим курсом MIT або без нього, залежно від вашого стилю навчання). Для самонавчання мені часто здається, що два джерела, на які можна звернутися, можуть допомогти уточнити моменти, які у мене виникають проблеми.
Альтернатива, яку я бачив, - це конкретна математика , друге видання Рональда Л. Грема, Дональда Е. Кнута та Орена Паташника. Я не можу знайти свою копію на даний момент і не працював над нею старанно, тому не можу дати рекомендацію за або проти.
З передмови:
Але що конкретно є конкретна математика? Це суміш безперервної та дискретної математики. Більш конкретно, це контрольована маніпуляція математичними формулами, використовуючи сукупність прийомів вирішення задач.
Я зазначу зауваження коментарів Білла Ящера в цій публікації в блозі " Книжкові програмісти не читають насправді ". Особисто я все ще вважаю Алгоритми Роберта Седжвіка (тепер 4-е видання) менш заляканими та більш доступними.
Що стосується безперервної (тобто реальної чисельності) частини математики, то числення Стюарта, здається, є часто використовуваним фактом для читання лекцій студентам про освіту, що походить від диференціації та інтеграції.