Syllabus: EP03.TITH1121 - Data Structures and Algorithms
Anyone intending to participate in next year's programming contests (ACM-ICPC & OLP.VN) should practice regularly medium and hard-level data structures and algorithmic problems.
Reference books:
Links:
Session 1: Complexity of Algorithms, Big-O notations,
Slide: Session 1 - Algorithm Complexity - Asymptotic Analysis
Read: Chapter 3 [1], Chapter 1 [2]
Practice/Exercises: R-3.1 .. R - 3.34; C-3.35 .. C-3.50 [1] by a group upto 4 students. Deadline - 11/01/2024
Session 2: Recursion, Divide & Conquer, Master Theorem
Read:
Chapter 4 [1], Chapter 2 and Chapter 18 [2]
Introduction to Recursion - Data Structure and Algorithm Tutorials - GeeksforGeeks
Section: Standard problem on Recursion
Practice:
Exercises: (focus on easy/basic/school-level problems) - deadline (19/01/2024)
C-4.9 to C-4.20 except C-4.15
Practice | GeeksforGeeks | A computer science portal for geeks (Recursion, Divide & Conquer, Backtracking - only exercises using array data structure)
Recursion - LeetCode (easy problem only and only exercises using array data structure)
Divide and Conquer - LeetCode (option)
Backtracking - LeetCode (option)
Session 3: Collections, Arrays, Linked List
Read:
Chapter 3 [2] (3.9 and 3.10 - optional), Chapter 13 [3] (all)
Practice:
Top MCQs on Linked List Data Structure with Answers (geeksforgeeks.org)
Practice | GeeksforGeeks | A computer science portal for geeks (school/basic/easy level)
Problems - LeetCode (easy/medium level)
Selected problems with hints: Linked Lists and variants
Session 4: Stacks
Slide: Session 4 - Stacks
Read:
Section 6.1 [1], Chapter 4 [2], Chapter 7 [3]
Practice:
Session 5: Queue
Slide: Session 5 - Queues
Read:
Section 6.2, 6.3 [1], Chapter 4 [2], Chapter 8 [3]
Practice:
Session 6: Priority Queue
Slide: Session 5 - Queues
Read:
Section 9 [1], Chapter 4 [2], Chapter 7 [3]
Practice:
Session 8: Tree and Binary Tree
Slide: Tree and Binary Tree
Read:
Section 10.2 [1], Chapter 4 [2], Chapter 7 [3]
Practice:
Session 9: Hashing and Hashtable
Slide: be available soon
Read:
Section 10.2 [1], Chapter 4 [2], Chapter 11 [3]
Practice:
Practice | GeeksforGeeks | A computer science portal for geeks
Selected problems with hints: Hash and Hash Tables