Summary
An
algorithm is a step_by_step procedure to solve a task. It takes
input and produces
output. Good algorithms aim for
correctness and
efficiency. Performance is described by
time_complexity and
space_complexity using
big_o_notation. Common families include
sorting,
searching,
recursion,
iteration,
greedy,
divide_and_conquer, and
dynamic_programming. Algorithms often use
data_structures to organize values. Remember the purpose, typical categories, and how to read
big_o_notation for growth rates.