Posts

Showing posts from August, 2025

CST370 Week 7

     This week I went over Counting Sort and Radix Sort, which skip the usual comparisons and can be really fast for certain kinds of numbers. I learned how dynamic programming can make some divide and conquer algorithms more efficient, like in the coin collection and coin row problems. We also covered Warshall’s and Floyd’s algorithms for finding transitive closures and all-pairs shortest paths, and how they connect to dynamic programming. On top of that, we looked at the greedy method with Prim’s algorithm for finding a minimum spanning tree. I kept up my habit of drawing everything out step by step, and seeing it on paper made each algorithm way easier to follow and understand.

CST370 Week 6

     This week we covered AVL trees, heaps, and hash tables. I felt like I had a solid grasp on hash tables, but AVLs and heaps were a bit tougher without a visual. The AVL visualization site that was shared really helped me understand how the rotations work. I also found that writing the problems out on scratch paper helped a lot. I could walk through the rotations step by step and then use the site to double check. For heaps, I found it much easier to understand the structure when it was drawn out as a tree instead of just looking at the array. I want to get better at working directly with the array, but right now, seeing it as a tree helps everything click into place faster