Какие книги стоит прочесть для изучения математики?
=====================================================

 Потихоньку-помаленьку изучаю программирование. В одном из ответов на вопрос о разделах математике, которые нужны для программиста выяснил, что программисту желательно знать такие разделы как: линейная алгебра и дискретная математика. Базару 0. Но. Мои знания математики за последнее время довольно запылились. Возможно даже, что покрылись приличным слоем пыли (страшно представить насколько БОЛЬШОЙ этот слой).   

Так вот. Мне хотелось бы, что б мне посоветовали книги по матеше с самых основ. Под основами я подразумеваю чуть ли не класс 5-6, когда начинают изучать дроби и дальше по накатанной). Хотя возможно я довольно сильно преуменьшаю свой нынешний уровень знаний, но это скорее как примерный ориентир. Наверное тут мне нужны будут книги по элементарной математике или алгебре.   

Самому же интересны следующие разделы: теория множеств, теория групп, теория графов, теория чисел, матрицы, булева(булевая???) алгебра(этот раздел заинтересовал из-за книги Чарльзя Петцольда - "Код" и то, как он в ней раскрывал сие тему), алгебра логики(хотя это вроде и есть булева алгебра или я ошибаюсь?), мат.анализ, комбинаторика и алгоритмы. По всем этим разделам хотелось бы получить рекомендации книг, в которых будут раскрываться каждая из этих тем с самых основ(для чайников то есть :3).  

Сам порывшись в интернетах, нашёл следующие(не плохие вроде) книги:  

1) Что такое математика? – Курант Р., Роббинс Г.  

2) Элементарная математика – Сканави М.И.  

3) Конкретная математика - Дональд Кнут, Роналд Грэхем и Орен Паташник  

4) Искусство программирования - Дональд Кнут  

5) Алгоритмы: построение и анализ - Томас Кормен, Чарльз Лейзерсон, Рональд Ривест и Клиффорд Штайн  

6) Линейная алгебра и аналитическая геометрия - А.С.Киркинский  

7) Математический анализ - А.С.Киркинский   

8) Дискретная математика для программистов - Ф.А Новиков  

9) Дискретная математика и комбинаторика - Андерсон Джеймс  

10) Комбинаторика - Виленкин Наум Яковлевич, Виленкин Павел Александрович 

 Вопрос не читал, но осуждаю. Сначала осиль хоть одну книгу, а потом спрашивай про другие. 

[Здесь](https://t.me/perpetlearn/32) рассказываю про книжки, полезные при проектировании программ, а там и алгебра с теорией категорий неподалеку. 

> ... которые нужны для программиста выяснил, что программисту желательно знать такие разделы как: линейная алгебра и дискретная математика

 Реально, что нужно обычному прогеру из этого, понимать как работает + - * / , порядок раскрытия скобок и операторы вроде побитового сдвига, конъюнкции и тд в 99% это все что нужно знать по математике, знать что такое днф, сднф не нужно (если вы не разработчик чего-то узкоспециализированного),.  

> 3) Конкретная математика - Дональд Кнут, Роналд Грэхем и Орен Паташник  
> 
> 4) Искусство программирования - Дональд Кнут

 често говоря интересно посмотреть на человека со школьным уровнем математики, который сможет это осилить.  

  

В целом изучать математику просто так идея не очень (если вы не хотите быть преподом и тд). Программисты изучают нужный раздел математики для работы, например теорвер для data science.   

  

Вот эти советы, вроде почитай кнута, кормена (про алгоритмы на 1000 страниц) обычно пишут либо те кто не читал никогда этого, либо тролли (в 95% случаев точно). Тоже самое что 5-9класснику сказать иди почитай вузовский учебник на (900 страниц) про высшмат (без нормальной подготовки и препода не осилит никак).  

  

Я ничего не имею против этих книг, но чтобы самостоятельно их освоить уже нужен опыт в программировании, лучше почитайте более простые книги, которые рекомендуются начинающим, обычно объем таких книг 200-400 страниц (в гугл вбейте и все).