title: What's the difference between an Algorithm and a Design Pattern
body: <p>I was searching for "Undo/Redo algorithms" and found something marked as a duplicate, but the duplicate was a request for a "Undo Design Pattern". I'd really like an algorithm for this.  I don't think I necessarily need a design pattern.  </p>
  
  <p>Is there a fundamental difference between "Design Pattern" and "Algorithm" or is it OK that someone uses the two interchangeably?</p>
  
  <p>I'll hang up and take my answer off the air. </p>
  
  <p>Ok, forgive me for thinking design patterns were just abstractions of algorithms. Here's a little table of my findings from the answers which were all very good.</p>
  
  <pre>
     Design Pattern |    Algorithm
  ------------------|----------------
  Abstract          | Concrete
  Control Structure | Set of Actions    
  Template          | Implementation
  Flexible          | Deterministic
  Blueprint         | Recipe
  </pre>