Summary
You just completed the ninth chapter of this book, which examined data structures and algorithms in the context of the C# language. This time, we focused on practical examples of algorithms, with code snippets, detailed descriptions, and also brief indications of which types of algorithms the aforementioned examples belong to.
First, you learned how to implement a simple algorithm to calculate a given number from the Fibonacci series in three variants. You saw a simple recursive approach as well as top-down and bottom-up approaches to dynamic programming.
The next example showed the greedy approach to solve the minimum coin change problem. It was followed by the divide-and-conquer algorithm to find the closest pair of points located on a two-dimensional surface. The fourth example presented a recursive way of generating fractals and drawing them on a bitmap.
The following two examples were related to back-tracking algorithms to solve the rat in a maze and the Sudoku...