cst370 week7

    This week we first covered counting sort and radix sort. I was especially impressed by the design of radix sort because of how elegant and efficient it is when applied in the right context. It was interesting to see how a noncomparison based sorting algorithms was able to outperform the traditional approaches.

    We then moved into dynamic programming. At first, I found the concept somewhat confusing because it did not immediately seem different from simply working through a problem step by step. However, it eventually clicked during the homework that dynamic programming is about intentionally breaking a complex problem into smaller, manageable subproblems, solving each of them once, and then combining their results to build the final solution efficiently. Using this, I was able to pull apart the coin problem logic into smaller pieces and recombine it once each part was solved.

    After that, we covered the coin-row problem and worked through the algorithm design for Warshall’s algorithm, Floyd’s algorithm, the Greedy technique, and Prim’s algorithm. While following the design and logic of each algorithm was fairly straightforward, implementing Floyd's in the homework required more careful thought. Working through the steps was challenging but ultimately very satisfying, and it strengthened my understanding of how it achieves its goal.

Comments

Popular posts from this blog

CST334 Week 2

CST334 Week 5

CST334 Week 6