COMP 382

I helped teach this course in Fall 2020, during Covid, and covered the first half of the materials, focused on data structures and algorithms.
Due to COVID, I recorded videos for the course. As above, these are not high-quality, professionally recorded videos. They are not proofread carefully, so they might include a few typos/mistakes here and there. Just in case the videos are of help to someone, they can be accessed at my YouTube channel, under the Data Structures and Algorithms playlist (36 videos).

The topics I covered were:

  1. Elementary data structures
  2. Binary search trees
  3. Red-black trees
  4. B-Trees
  5. Data structures for disjoint sets
  6. Hash tables
  7. Depth-first search on graphs and its applications in computing strongly connected components and topological sort.
  8. Greedy algorithms: The compatible intervals problem, the minimum spanning tree problem, the single-source shortest paths problem, and Huffman coding.
  9. Dynamic programming: Computing binomial coefficients, the weighted compatible intervals problem, the longest increasing subsequence problem, the all-pairs shortest paths problem, the longest common subsequence problem, the RNA secondary structure problem, and the Knapsack problem.