Learning objectives

(HL) Explain the structure of a binary search tree using root, parent, child, leaf, subtree and height, and the ordering rule that makes searching it efficient

(HL) Sketch the tree produced by a sequence of insertions and deletions, and state the output of in-order, pre-order and post-order traversals

(HL) Construct and apply sets with union, intersection, difference, membership testing, adding and removing elements and subset or superset checks, using HashSet in Java or set in Python

(HL) Explain how a hash table maps keys to positions with a hash function, resolves collisions by chaining or open addressing and manages its load factor, as in HashMap in Java or dict in Python

(HL) Justify the choice of a list, a binary search tree, a set or a hash table for a problem by the operations it needs and their efficiency

Continue with a revision plan

These learning objectives are available to everyone. Sign in with an eligible plan to read the full note and worked examples.