So there's a lot of advice on how to learn mathematics most efficiently, and it mostly revolves around doing problems, asking questions, and considering all possible generalizations. However, I was wondering if it was actually necessary to read a book? I find that I often learn much more through classes than self-studying because I'm forced to do many problems, and get feedback on my solutions.
Thus, would the most efficient way simply to immediately work through the problems in a section without reading, and only read when it is necessary to understand the problem? For example, read a problem, then go back to the section just to read the relevant definitions and theorems/propositions that could apply to the given problem, rather than having to read the whole chapter?
In that case, while reading advanced topics books or research papers that don't have exercises, one would have to make up their whole problems, so they'll have to read through the paper carefully. But when one goes through pedagogical texts to learn the rudiments of the field, is it necessary to read through the chapter? Or would it be more efficient just to spend the whole time thinking and doing problems?
My main problem with reading is completion. If one finishes a book, how would one know where to look for information that was not covered in the book? It'd be a waste of time to re-read another book on the same topic at the same level, but it may contain some information that wasn't covered in the original book, which one wouldn't know of if one hadn't read it.
In particular, I feel that it's almost impossible to retain almost anything when one just reads the chapter. It feels like doing the problems is the only way one can remember anything in the long term, and so are there any advantages/disadvantages to doing this? Or is there any even more efficient, specific way to learning mathematics?