In this last chapter, we looked at the theories that support the computer science field. Without the use of too much mathematical rigor, we saw some of the main categories into which algorithms are classified. Other design techniques in the field, such as the divide and conquer, dynamic programming, and greedy algorithms, were also discussed, along with sample implementations.
Lastly, one of the outstanding problems yet to be solved in the field of mathematics was tackled. We saw how the proof for P = NP? will definitely be a game-changer in a number of fields, if such a proof is ever discovered.