Thinking Machines: A Survey of LLM based Reasoning Strategies