Algorithms and Data Structures 2/2
Now it is time to go deeper into algorithms.
Study recursion, call stacks, base cases, and the conditions under which tail-call optimization is or is not available in your language.
Return to the first algorithms and data structures section and use the same study loop for the remaining structures and topics:
trees, binary search trees, and heaps;
graph representations, breadth-first search, and depth-first search;
comparison sorting and the reasons behind its lower bound;
binary search and the invariants that make it correct;
introductory greedy and dynamic-programming problems.
For each algorithm, trace it by hand on a small input, implement it, test boundary cases, and explain its complexity. Then learn when a standard-library implementation is the correct engineering choice.
May the force be with you!
Last updated