... которые нужны для программиста выяснил, что программисту желательно знать такие разделы как: линейная алгебра и дискретная математика
Реально, что нужно обычному прогеру из этого, понимать как работает + - * / , порядок раскрытия скобок и операторы вроде побитового сдвига, конъюнкции и тд в 99% это все что нужно знать по математике, знать что такое днф, сднф не нужно (если вы не разработчик чего-то узкоспециализированного),.
3) Конкретная математика - Дональд Кнут, Роналд Грэхем и Орен Паташник
4) Искусство программирования - Дональд Кнут
често говоря интересно посмотреть на человека со школьным уровнем математики, который сможет это осилить.
В целом изучать математику просто так идея не очень (если вы не хотите быть преподом и тд). Программисты изучают нужный раздел математики для работы, например теорвер для data science.
Вот эти советы, вроде почитай кнута, кормена (про алгоритмы на 1000 страниц) обычно пишут либо те кто не читал никогда этого, либо тролли (в 95% случаев точно). Тоже самое что 5-9класснику сказать иди почитай вузовский учебник на (900 страниц) про высшмат (без нормальной подготовки и препода не осилит никак).
Я ничего не имею против этих книг, но чтобы самостоятельно их освоить уже нужен опыт в программировании, лучше почитайте более простые книги, которые рекомендуются начинающим, обычно объем таких книг 200-400 страниц (в гугл вбейте и все).