Course Logistics for Data Structures and Algorithm
1. Foundational Concepts:
2. Data Structures:
- Stacks (Array and Linked List Implementations)
- Queues (Array and Linked List Implementations)
- Dequeues (Double ended queues)
- Priority Queues (Array and Linked List Implementations)
- Linked Lists (Singly, Doubly, Circular)
- Trees and Tree Traversals (Preorder, Inorder, Postorder)
- Binary Search Trees
- Heaps
- M-way Trees
- Balanced Trees
- AVL Trees
- Red-Black Trees
- Graphs
- Adjacency Matrix and Adjacency List Implementations (for Graphs)
3. Algorithms:
- Searching Algorithms:
- Recursion and Analyzing Recursive Algorithms
- Divide and Conquer Algorithms
- Sorting Algorithms
- Shortest Path Algorithms (related to Graphs)
- Topological Sort (related to Directed Acyclic Graphs)
4. Advanced Concepts:
- Hashing
- Memory Management and Garbage Collection
Mid term Exam: 30 marks
Terminal Exam: 40 marks
Quizzes: 15 marks
Assignment: 15 marks
- Algorithms 4rth Edition by Robert Sedgewick and Kevin Wayne
- Data Structures and Algorithms in C++ by Adam Drozdek
- Data Structures and Algorithm Analysis in Java by Mark A. Weiss
- Data Structures and Abstractions with Java by Frank M. Carrano & Timothy M. Henry
- Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss
- Java Software Structures: Designing and Using Data Structures by John Lewis and Joseph Chase