Hacker News new | ask | show | jobs
Books Recommendation: Breaking down a problem into sub-problems (in general)
9 points by oberver 2371 days ago
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!

4 comments

Problem 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. 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.
Logic tree is a good direction to look into. I asked the question in a broader sense, not just coding.
I 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.
It 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.
I 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?

Thanks 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.