Greedy Algorithms, Dynamic Programming, Backtracking
Techniques, Branch and Bound Methods, Computational
Complexity, Sorting Lemmas, Tractable vs. Intractable
Problems, Deterministic Algorithms, Polynomial Time
Complexity, State Space Trees, Optimization Challenges,
Pruned Decision Trees, Algorithmic Efficiency, Stack Utilization,
Polynomial Bound Solutions, Comparison-Based Sorting,
Algorithmic Problem Solving, and Complexity Classes Exam
Questions Verified and Provided with Complete A+ Graded
Rationales Latest Updated 2026
Greedy Algorithm
a simple, intuitive algorithm that makes the optimal choice at each step as it attempts to find
the overall optimal way to solve the entire problem.
Dynamic Programming
smaller instances solved first and stored for later use by solution to solve larger
instances.
Backtracking
, Trying all possibilities, if you get stuck → backtrack, try the next choice. Utilizes the stack data
structure!
Branch and Bound
a state space tree dependent approach which unlike backtracking is not limited to particular
traversal methods, but also is only limited to optimization problems.
Computational Complexity
Algorithms that sort by comparison of keys can compare 2 keys to determine which is larger.
Lemma
To every deterministic algorithm for sorting n distinct keys there corresponds a pruned, valid,
binary decision tree containing exactly n! leaves.
Tractable
A problem where there exists a polynomial bound algorithm that solves it. Bounded by
polynomial time.
Intractable
A difficult problem a PC has trouble solving and is not bounded by polynomial time.