Course Objectives
This course enables the students to
Course Outcomes(COs):
Learning outcomes (at course level) | Learning and teaching strategies | Assessment Strategies |
CO78. Define the basic types for data structures like stacks, queues, linked lists along with their strengths and weaknesses
CO79. Examine the use of different data structures and apply methods in algorithm design and analysis
CO80. Apply the appropriate data structure in context of solution of given problem.
CO81. Develop programming skills which require to solve given problem
CO82. Formulate the problem statement and apply appropriate algorithm to it.
CO83. Analyze the complexity of algorithms when applied to specific problems. | Approach in teaching: Interactive Lectures, Discussion, Tutorials, , Demonstration
Learning activities for the students: Self-learning assignments, Effective questions, Quizzes, Presentations, Discussions
| Assignments Written test in classroom Classroom activity Written test in classroom Semester End Examination |
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
· Anany Levitin, “Introduction to the Design and Analysis of Algorithms”, Third Edition, Pearson Education, 2012.
· Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest and Clifford Stein, “Introduction to Algorithms”, Third Edition, PHI Course Private Limited, 2012.
· Thomas H Coremen, Charles E Leiserson, Ronald L Rivest, Clifford Stein, “Introduction to Algorithms”, Mc-Graw Hill, 2006
· D.S Malik, “Data Structures using C++”, Cengage Learning, 2nd edition, 2009
· A. Tannenbaum, “Data Structure Using C”, Pearson Education, 2019.