Chapter 14. Algorithm Designs and Techniques
So far, we have had fun discussing how to implement several different data structures and the most commonly used sorting and searching algorithms. An algorithm in the programming world is very interesting. The most beautiful thing about algorithms (and programming logic) is that there is more than one approach to resolving a problem. As we learned in previous chapters, we can design a solution using the iterative approach or make the code easier to read using recursion. There are also other techniques we can use to solve problems with algorithms. In this chapter, we will learn about different techniques, and we will also discuss the next steps in case you are interested in diving deeper into this world.
In this chapter, we will cover:
- Divide and conquer algorithms
- Dynamic programming
- Greedy algorithms
- Backtracking algorithms
- Famous algorithm problems