This document contains lecture notes on data structures that discuss programming performance, space complexity, time complexity, asymptotic notations, and searching and sorting algorithms. The key points covered are:
- Programming performance is measured by the memory and time needed to run a program, which can be analyzed or experimentally measured.
- Space complexity accounts for memory needed and includes instruction, data, and environment stack spaces. Time complexity accounts for time needed and includes compilation and execution times.
- Common asymptotic notations like Big-O, Omega, and Theta are used to describe time and space complexity behaviors.
- Searching algorithms like linear and binary search are used to find elements. Sorting algorithms like bubble, quick, selection and heap sorts