ADTs, asymptotic notation and arrays
A data structure organises data so that it can be accessed and modified efficiently, while an abstract data type specifies the available operations without fixing how they are implemented. Selecting the right structure directly determines a program performance.
Big-O gives an upper bound on growth, Omega a lower bound and Theta a tight bound. The common complexity classes in increasing order are O(1), O(log n), O(n), O(n log n) and O(n^2).
An array stores elements in contiguous memory, giving O(1) random access by index, but insertion or deletion in the middle requires shifting elements and costs O(n).
This unit defined data structures and ADTs, introduced asymptotic analysis for comparing algorithms, and reviewed the array as the basic contiguous linear structure.