Week 5 Sorting and Decrease and Conquer
This week in Design and Analysis of Algorithms, we took a look at the widely used sorting algorithm Quicksort, explored the different operations and efficiencies of algorithms involving the binary tree which included learning how to traverse the trees and determine the heights. In addition, we learned about the different decrease and conquer designed algorithms such as the insertion sort and the topological sorting of directed acyclic graphs by using DFS based algorithms, source removal, and Kahn's Algorithm. Lastly, we were introduced to another algorithmic design technique known as transform and conquer which involved the concept of pre-sorting. From a short glimpse of the module I thought this week would be pretty hectic due to seeing all the different tabs and links, but overall I found it quite tame. At first glance the quick-sort algorithm seemed quite confusing with having to do the partitioning aspect of it. I had to visualize the way the partitioning was indexing the array...