This document discusses data structures and algorithms. It begins by introducing the course and topics to be covered, including algorithms, recursive techniques, lists, trees, and priority lists. It then provides examples of problems that can be solved using algorithms and data structures, such as genome mapping and shortest path finding. The document defines algorithms and explains that they are procedures for transforming inputs to outputs. It gives the example of sorting and describes insertion sort. The document discusses what makes an algorithm correct and introduces loop invariants. It also covers analyzing algorithms asymptotically and calculates the running time of insertion sort as O(n2). Finally, it briefly mentions recursive techniques.
Related topics: