Sign up ×
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It's 100% free, no registration required.

Is the first step in solving a "tough" algorithmic problem always asking whether it's hard in the sense that other tough problems can be reduced to it? Not to make the scope of this question tight, what's good advice for approaching challenging algorithmic problems?

share|cite|improve this question
I think that as first step you should ask (to yourself/colleagues/experts) "Is it a KNOWN problem?". If the answer is positive then search in the literature for the state-of-the-art solutions; otherwise as second step you should ask "Is it SIMILAR to a known problem?". If the answer is positive, then try to use the approaches used for the similar problems. – Vor Dec 31 '12 at 12:55
What I do is "formalization and simplification". First formalize your problem, and try to find all the constraints you want to solve. Try to solve the problem with some of the constraints, and keep include the constraints one by one until you get a good understanding of the problem. – AJed Dec 31 '12 at 17:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.