CST 370: Week 3
This week we learned more about brute-force algorithms and were introduced to divide and conquer algorithms. We learned how brute-force could be applied to find whether or not one string appears as a substring within another, which can involve comparing every character of the string in question or the majority of them multiple times. When applying brute-force to combinatorial problems, we can resort to the exhaustive search, which involves generating all potential solutions or possible cases to a problem and evaluate each of them to determine which is the most suitable solution. Additionally, brute-force can be applied to graphs using either the Depth-first algorithm, which utilizes a stack for it's operation, or the and the Breadth-fist algorithm, which utilizes a queue for it's operation. Rather than using brute-force to find the solution to a problem, divide and conquer algorithms split problems into smaller problems, referred to as subproblems, that can be solved quickly a...