Learning the concepts and using SRS are not only not mutually exclusive, they're complementary. There's no quicker way to "grok" a deep technical or mathematical insight than to simply expose yourself to it in a diversity of cognitive contexts. SRS works incredibly well because it generates this diversity as a function of regularly scheduled time. Think of it as entropy generation coupled with heavy reinforcement.
Right. I learned what binary trees were in college and didn't directly use them much afterward. Since interviews sometimes ask about trees, I started my practice of solving tree problems by practicing how to invert a binary tree. I practiced it so much that I can invert a binary tree from memory now, so that I won't get bounced from an interview like the inventor of Homebrew was from a Google interview.
Most of the concepts I learned, although I don't remember learning Kadane's algorithm for solving the maximum subarray problem in school, so I've learned some things like that. I can also implement a solution for an associated Leetcode problem in one line of code, so I wound up memorizing that too.
OP says "If you master the methods and ideas, you should be able to derive the answers on the spot", but I hear from a lot of people that does not happen, even (implicitly) in this thread. Any how, even if I use OPs method, if I do the same problem over and over and over again I'm going to wind up memorizing it any how.
Learning is like nutrition. There is no ”one true way", instead there are lots of people and each one has their own approach to learning.
Some people are closer to each other, and upon realizing that they believe they've found a pattern. But it's like when people tell you that you need to supplement x in your diet. It's possible that x helped you. And it's even possible that you'll find other people with the same nutritional deficit, creating the illusion that everyone would benefit from supplementing. But that's just what it is: a premature extrapolation from anecdotes
I was at Google when that happened, and had some inside sources (ie gossip from the guys who interviewed him, who said they didn't even ask any tree questions, and memegen).
I tried to find some outside sources, but nothing about Howell admitting his 'artistic license' outright. So take my fallible memory with a large pinch of salt.
So, inverting is just swapping the left and right pointers for the entire tree? Why would you ever do that? That will flip the ordering of the tree and none of your search or balancing functions will work anymore. Shut up! Don't ask questions! Uh, ok.
You falsely assume the only 'work' to be done is that immediately aligned with sprint velocity rather than all that done to make someone a valuable contributor in the first place (what your employer is actually paying for). The person who spends ~2 hours a day 'working' and the rest of their day on research, self-education, or more theoretical domains will become exponentially more valuable over time compared the most endurant hamster wheel runner as a function of qualitatively superior capabilities. Smart engineers realize this growth curve and alter their trajectory, benefitting both themselves and their employer long-term.
If two people perform an action with 1/10,000 chance of death, but person A performs it once per year and person B performs it 10,000 times per year, whose life is more heavily dependent on the underlying fatality rate of the action?
You learned using the AOPS books? Don't be fooled by the titles, these books exclusively use a proof-based approach to construct a pretty wide foundation around these topics.
AoPS are among my favorite math books, but they're definitely not proof-based or particularly rigorous in terms of formalism.
They do focus on complex problem solving, which is equally important. The key value-add of AoPS are interesting, often beautiful examples and problems.
However, they don't do proofs or formalism much. They don't do applications or show what math is useful for. And they completely, totally, and universally screw up units (you'll have problems trying to equate a length with an area and similar; that's true of their classes as well, and RSM is similar).
I don't think there's a one-stop-shop for math, though, which does everything right. AoPS is at the peak of their particular game (which is right in the name: problem-solving).
That's best complemented by:
- Something which does data, applications, visualizations, and storytelling well.
- Something which does early exposure / surface learning well
- Something which is more formal and rigorous in terms of proofs and derivations
- Something which touches on a broad set of interesting topics (graph theory, oddball parts of geometry, etc.)
- In 2024, I would add something which does computational mathematics well
Nothing I know of does all those well in a one-stop-shop.