DOTS: Learning to Reason Dynamically in LLMs via Optimal Reasoning Trajectories Search