This week was a good balance between learning new concepts and applying them in code. I explored two sorting algorithms, Counting Sort and Radix Sort which work without making comparisons and are very efficient for certain types of numbers. I strengthened my understanding of dynamic programming by solving problems like coin collection and coin-row, and saw how it can divide and conquer solutions much faster. On the graph side, I worked with Warshall’s algorithm for transitive closures and Floyd’s algorithm for all pairs shortest paths both of which build on dynamic programming ideas. I also learned the greedy technique through Prim’s algorithm for finding minimum spanning trees. These ideas all came together through Java projects and problem-solving practice.

Comments

Popular posts from this blog