CST 370 - Week 7
Hey everyone, This week’s learning journey took me through several important algorithmic techniques and problem-solving strategies, expanding both my theoretical knowledge and my practical skills. I began with Non-Comparison Sorting , where I explored Counting Sort and Radix Sort . Unlike traditional comparison-based methods like Merge Sort or Quick Sort, these algorithms leverage properties of the input data to achieve better-than- O(n log n) performance in certain cases. Counting Sort uses frequency counting to sort integers efficiently, while Radix Sort applies a digit-by-digit sorting approach (often using Counting Sort as a subroutine), making it especially useful for fixed-length integers or strings. The visualizations helped me understand how these algorithms maintain stability and avoid element comparisons altogether. Next, I dove into Dynamic Programming (DP) . The key takeaway was that DP is all about solving complex problems by breaking them into overlapping subproble...