This release contain the semester 1 lecture note:
- Chapter 1: Algorithm, Time complexity, Merge sort
- Chapter 2: Data structures, binary heap, heap sort
- Chapter 3: Quick sort, order statistics
- Chapter 4: Lower bound for sorting, Radix sort, Sorting networks
- Chapter 5: Binary search
- Chapter 6: Stacks, Queues, Amortized costs
- Chapter 7: Linked List, Pointer machine
- Chapter 8: Disjoint sets (Union-Find)
- Chapter 9: Fibonacci heap
- Chapter 10: Dynamic Programming - PART I
- Chapter 11: Dynamic Programming - PART II
- Chapter 12: Knapsack
- Chapter 13: Dynamic programming on subsets, on profiles
- Chapter 14: Hash Tables
- Chapter 15: Perfect & Cuckoo hashing, Bloom filter