4 ms·
Books Recommendation: Breaking down a problem into sub-problems (in general)
Whenever I have a problem (in general) to solve which I have not seen before or solved before, I find it difficult to approach and break down into small subproblems and then I start procrastinating and avoiding the problem.
I would love to know your approaches/experiences. It would be great if you could share how you learned the art and can also recommend related books.
Thanks!
- auslegung 7y agoIt may help to search for "problem decomposition", that's the more technical term that I'm aware of. You'll probably get better results googling for that.
- markus_zhang 7y agoI think it depends on context, assuming you are not talking specifically about competitive-programming. I'm actually also very interested in this question as I found myself, as a self-taught programmer, has difficulty transforming a real-life problem into a computational problem, and then breaking it down to smaller ones.
- csnewb 7y agoProblem Solving 101 by Ken Watanabe provides a toolbox of problem solving techniques. One method I've been using to decompose problems us to use a "logic tree". Start here: https://en.wikipedia.org/wiki/Issue_tree https://en.wikipedia.org/wiki/Issue_tree. Another technique is to first explain the problem and solution at a high level (pretend you're explaining it to a friend or coworkers), then write pseudocode for how you would solve it, and then convert that pseudocode to actual code.
- oberver 7y agoLogic tree is a good direction to look into. I asked the question in a broader sense, not just coding.
- yesenadam 7y agoI never had that problem..but can recommend Polya's unique How To Solve It, which deserves its high reputation, and might be helpful. But which particular domain(s) are you talking about?
- oberver 7y agoThanks for the book recommendation. Not any specific domain but I was mainly looking for ideas/perspectives on how people think about and approach problems in general. This would be useful for me when I am on to something new (at least for me) and test out different approaches when I hit the wall or feel stuck.