This week I got a better understanding of some core algorithm techniques. Quick Sort stood out as a strong example of divide and conquer breaking problems into smaller parts to solve them efficiently. I also learned how binary trees work especially how to traverse them and calculate their height. We explored decrease and conquer which is similar to divide and conquer but focuses on solving smaller pieces one at a time. Insertion sort and Khan’s algorithm for topological sorting helped with that. We also looked at transform and conquer like using pre sorting to simplify a problem.
This week I focused a lot on understanding time complexity and recursive analysis. It was challenging at first to figure out how to break down recursive functions and write the correct recurrence relations. Applying the Master Theorem was especially tough because I had to carefully identify each part of the formula and decide which case applied. I also spent time reviewing the difference between Big O, Big Omega, and Big Theta, which helped me better understand how to describe the efficiency of an algorithm. These concepts took time to click but working through examples really helped.
Comments
Post a Comment