Topic 5 - Abstract data structures [HL]

This topic looks at the most common data structures, including arrays, stacks, queues, linked lists and binary trees. In addition to the basic principles of each data structure, some basic data processing operations are covered. As in topic 4, algorithms follow no specific programming language, but are described through flow charts or pseudo code.

Thinking recursively

This sections looks at the concept of recursion and how it is used in different algorithms. It also covers the tracing of recursive algorithms.

Multi-dimensional arrays

This sections looks at characteristics of multi-dimensional arrays, some of its applications and how to work with them.

Stacks

This sections looks at stack data structures. This includes important characteristics of stacks, how to process them and some of its applications.

Queues

This sections looks at queue data structures. This includes important characteristics of queues, how to process them and some of its applications.

Linked Lists

This sections looks at linked lists as data structures. This includes important characteristics of linked lists, how to process them and some of its applications.

Binary trees

This section looks at how trees work logically, common terminology, how binary trees can be traversed to retrieve data in different ways and how trees can be sketched.

Applications

Evaluation of static and dynamic data structures. Comparison of different data structures given their computational complexity in Big O notation.