Well, I know that algorithmic paradigms are the templates to create algorithms to solve certain type of computational problems. (correct me if I am wrong) But what I don't understand is, "How do I check if the algorithmic paradigm is suitable for use for a certain type of problem?" and Are there any guidelines to follow while using an algorithmic paradigm to solve a problem? or Are there any guidelines which state, "Where to use a particular algorithmic paradigm and where not to use it?"