Master this deck with 15 terms through effective study methods.
Generated from uploaded pdf
To design efficient algorithms and analyze their correctness and running times.
Divide-and-conquer, dynamic programming, and greedy algorithms.
It provides a way to measure the efficiency and growth of algorithms.
It breaks a problem into smaller subproblems, solves them independently, and combines results.
They make the locally optimal choice at each stage with the hope of finding a global optimum.
It is used to prove the correctness of recursive algorithms.
It may become inefficient and slow for large input sizes.
To analyze and solve problems related to graph structures and their properties.
BFS explores neighbors level by level, while DFS explores as far as possible along each branch.
To maintain sorted data and allow for efficient insertion, deletion, and lookup operations.
They express the running time of recursive algorithms in terms of their subproblems.
It optimizes problems by storing results of overlapping subproblems.
They organize data to improve the efficiency of other algorithms.
It connects all vertices with the least total edge weight without cycles.
To assess understanding of the first half of the course material.