
A stimulating excursion into pure mathematics aimed at "the mathematically traumatized," but great fun for mathematical hobbyists and serious mathematicians as well. This book leads the reader from simple graphs through planar graphs, Euler's formula, Platonic graphs, coloring, the genus of a graph, Euler walks, Hamilton walks, more. Includes exercises. 1976 edition.
A History of Pi - Petr Beckmann
Journey through Genius: The Great Theorems of Mathematics - William Dunham
How to Bake Pi - Eugenia Chang
These are all sort of 'pop-math' books -- that is, they're more intended to spark a joy & love for math than teach rigorous mathematics. Great Theorems and A History of Pi include a lot of history (edit to add: in addition to covering the math involved!) -- did you know some mathematicians in history would duel over their theorems? That theorems were a carefully guarded secret instead of something you shared?
Introduction to Graph Theory is specifically intended as an introduction to mathematics for 'the mathematically traumatized'.
In my opinion, after reading these, if you've sparked a joy for the puzzles and fun of mathematics, then I would then suggest branching out into more formal presentations of them relevant to your interests... it's much easier to slog through a book on abstract mathematics when you receive from enjoyment from the puzzles presented.
And I think graph is a data structure that you should be work upon. For this you can refer this book Introduction to Graph Theory Subsequent Edition by Douglas Brent West. This book you can just read and practice while solving problems on above coding problem platforms.
So, I recommend you first do code-forces DIV3, DIV2 problems, gain some confidence, and then pick any DSA book.
Or one thing you can also do just filter out problems related to math,Combinatorics etc.on code-forces and try to solve them. Through this approach you will learn to apply the concepts.
I hope this comment add some value to you! Happy coding.
The Art of Computer Programming by Donald Knuth
Introduction to Algorithms by Thomas Cormen
An Introduction to Formal Languages and Automata by Peter Linz
Probability and Statistics by by Morris H. DeGroot
Operating Systems: Internals and Design Principles by William Stallings
Understanding Cryptography by Christof Paar
Database Systems: Fundamentals of Design, Implementations and Management by by Peter Rob
Principles of Concurrent and Distributed Programming: Algorithms and Models by M. Ben-Ari
Introduction to Graph Theory by Richard Trudeau
Advanced Data Structures by Peter Brass
Ones and Zeros: Understanding Boolean Algebra, Digital Circuits, and the Logic of Sets by John Gregg
An Introduction to Algebraic Structures by Joseph Landin
Theory of Computation by S.N. Sivanandam
You can always find more on https://cstheory.stackexchange.com/ or on some universities websites.
The standard pedagogy is algebra then calculus by the end of HS. For me it was learning to program computers by way of making video games that solidified my understanding of HS level geometry, trig, and calculus. That was so long ago though that I don't really have any recommendations for current courses or books to go that route. I would recommend learning enough Javascript or something to get a canvas up in your browser and start making boxes move around, accelerate, rotate, follow your mouse, etc. It doesn't have to be anything sophisticated but it can teach you a lot.
If you're eager and enjoy a challenge I'd say my one regret was not learning how to construct my own proofs until much later on. Learning how to apply maths to solve problems is a lot of fun but learning how to think abstractly and make your own arguments is much more satisfying. There's a great book that doesn't require too much more than HS level math to understand which starts to make this connection called, Introduction To Graph Theory [0] and it's one of my all-time favorites.
[0] https://www.amazon.com/Introduction-Graph-Theory-Dover-Mathe...
Edit: Introduction to Graph Theory by Trudeau is another that I really liked. Very little was applicable to graphs as programmers think of them. Pure math that is easy to grasp and enjoy.
If you have a grasp of algebra and sets this book is an easy read for the curious or mathematically immature.
Edit WhatIsDukkha is correct and their suggestion better reflects what I intended to say.