title: Why mergesort is not Dynamic programming
body: <p>I have read these words:</p>
  
  <blockquote>
    <p>There are two key attributes that a problem must have in order for dynamic programming to be applicable: optimal substructure and overlapping subproblems. If a problem can be solved by combining optimal solutions to non-overlapping subproblems, the strategy is called "divide and conquer". This is why mergesort and quicksort are not classified as dynamic programming problems.</p>
  </blockquote>
  
  <p>I have the 3 questions:</p>
  
  <ol>
  <li>Why mergesort and quicksort is not Dynamic programming？
  I think mergesort also can be divided small problems and small problems then do the same thing and so on.</li>
  <li>Is Dijkstra Algorithm using dynamic algorithm?</li>
  <li>Are there applied examples of using Dynamic programming?</li>
  </ol>