This course enables the students to
Course | Learning Outcome (at course level)
| Learning and teaching strategies | Assessment Strategies | ||
Course Code | Course Title | ||||
24MCA 223 | Data Structures and Algorithm Design (Theory) |
| Approach in teaching: Interactive Lectures, Discussion, Tutorials, Demonstration
Learning activities for the students: Self-learning assignments, Effective questions, Quizzes, Presentations, Discussions
|
|
Introduction - Algorithm definition and specification – Design of Algorithms, and Analysis of Algorithms, Asymptotic Notations, Growth of function: Asymptotic notations
Linked lists – Searching, Insertion, Deletion, Sorted Linked List, Circular List, Two-way List.
Stacks – Array representation & Implementation, Operations on Stacks: Push & Pop, Linked representation of stack, Conversion of infix to prefix and postfix expressions, Evaluation of postfix expression using stack,
Queues - Array and linked representation and implementation, Operations on Queue: Create, Add, Delete, Full and Empty, Circular queues,
Searching: Linear and Binary Search Methods
Sorting: Bubble Sort, Selection Sort, Insertion Sort
Trees: Binary tree, Terminology & Representation, Binary Search Trees (BST)- Insertion and Deletion
Graphs: Terminology & Representations, Graphs & Multi-graphs, Directed Graphs, Elementary Graph algorithms, Representation of Graphs, BFS, DFS.
Divide and Conquer Method: Merge Sort, Quick Sort
The Greedy Method:- Knapsack Problem, Minimum Cost Spanning Tree, Single Source Shortest Path
Dynamic Programming: Multistage Graphs, All Pair Shortest Path, Optimal Binary Search Trees , 0/1 Knapsack Problem, Traveling Salesman Problem
Backtracking:- General method – 8-Queens Problem, Sum of Subsets, Hamiltonian Cycles
Branch and Bound :- The Method– Knapsack Problem
Suggested Readings:
E-Resources
Journals