Learning objectives

Compare static and dynamic data structures on memory allocation, resizing, speed, memory use and flexibility

Construct programs that add, remove, search and traverse elements of one-dimensional and two-dimensional arrays, Java ArrayLists and Python lists, using nested loops for two dimensions

Explain the stack as a last-in, first-out structure with push, pop, peek and isEmpty, and apply it to tasks such as undo, bracket matching and backtracking

Explain the queue as a first-in, first-out structure with enqueue, dequeue, front and isEmpty, and apply it to tasks such as print spooling, buffering and scheduling

Evaluate an array, list, stack or queue for a given problem, considering speed of access, memory use and the order in which items must be processed

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.