Course introduction: course organization and policies; Example of
the Fibonacci sequence: a bad algorithm and a good algorithm;
implementation-independent behaviors and algorithmic complexity.
Basic elements for the analysis of algorithms:
complexity and correctness of insertion-sort; worst-, best-, and
average-case complexity; loop invariants.
Review of BST deletion. Red-black trees: deletion.
Exercises. (OPTIONAL)
Book ref.: CLRS 13.4.
B-Trees. Data structures in secondary storage:
modeling disk access. Structure, search, and insertion in
B-trees. Relation with red-black trees. (OPTIONAL)
Basic elements of complexity theory: polynomial-time
algorithms and problems; the P complexity class; the NP class;
polynomial-time reduction and NP-completeness; satisfiability.