SE361: Lecture Slides

  • Lecture 0: Computer science (slides)

  • Lecture 1: Introduction, why data structure and algorithm? (slides)

  • Lecture 2: Models of computation, Growth of function, Big-O notation

  • Lecture 3: Divide-and-conquer

  • Lecture 4: Probabilistic analysis and randomized algorithm

  • Lecture 5: Insertion sort, Merge sort

  • Lecture 6: Quicksort

  • Lecture 7: Heap sort

  • Lecture 8: Linear time sort (radix sort)

  • Lecture 9: Stack and Queue

  • Lecture 10: Linked list

  • Lecture 11: Hashing

  • Lecture 12: Binary Search Trees (BST)

  • Lecture 13: Balanced BST

  • Lecture 14: Dynamic programming

  • Lecture 15: Greedy algorithms

  • Lecture 16: B-trees

  • Lecture 17: Disjoint sets

  • Lecture 18: Elementary graph algorithms

  • Lecture 19: Minimum spanning trees

  • Lecture 20: Single-source shortest paths

  • Lecture 21: All-pairs shortest paths