Effective algorithms make assumptions, show a bias toward a simple solution, trade off the costs of error against the cost of delay, and take chances. An algorithm answers a specific question in response to a hypothesis or to generate intelligence to create a hypothesis for further analysis. This chapter provides a fundamental overview of algorithms. These concepts have been applied among all technology platforms. An informal algorithm can be expressed using everyday language. Developing and managing a data warehouse typically relies on the execution of defined algorithms. Several basic types of algorithms are commonly taught in computer science programs. The first is a simple recursive algorithm. A second type of algorithm is called backtracking. A third algorithm is called divide and conquer. A fourth algorithm is called dynamic programming. The dynamic programming algorithm can be illustrated with patients who have had prior admissions to a hospital.