You are on page 1of 3

FACULTY OF ENGINEERING & TECHNOLOGY

First Year Master of Engineering

Semester I

Course Code: 102340103

Course Title: Advanced Data Structures and Algorithms

Type of Course: Core Course I

Course Objectives: To impart the knowledge of advanced data structures and new techniques for
algorithm design, solving specific problems more efficiently and analyzing space and time
requirements.

Teaching & Examination Scheme:


Contact hours per week Course Examination Marks (Maximum / Passing)
Tutoria Practica Credits Internal External
Lecture Total
l l Theory J/V/P* Theory J/V/P*
3 0 2 4 40 / 16 20 / 8 60 / 24 30 / 12 150 / 60
* J: Jury; V: Viva; P: Practical

Detailed Syllabus:
Sr. Contents Hour
s
1 Basics of data structures like linked list, graph, tree, 6
Analyze the asymptotic performance of algorithms. Amortized Analysis:
Introduction, Different methods Algorithmic design paradigms like Greedy,
dynamic, Divide and Conquer
2 Advanced Data Structures 7
Applications, Properties, Operations, Analysis of various data structures: Skip Lists,
Tries, Dynamic Trees, Splay Trees, Hashing Function and Universal hashing,
3 Graphs Representation, Traversal, Depth First and Breadth First Search, Shortest 7
path,
Network Flows: Maximum-Flow / Minimum-Cut, Ford Fulkerson algorithm,
Augmenting Path.
4 Trees: Red-Black Tree, B-Tree, Splay Tree, Tree Traversals, Appliations of Trees in 7
Computer Science,
One Dimensional Range Searching, Two Dimensional Range Searching, Constructing
a Priority Search Tree, Searching a Priority Search Tree, Priority Range Trees,
Quadtrees, k-D Trees.
5 Data Structure for Strings: Tries and Compressed Tries, Suffix Trees, Suffix Arrays, 6

Page 1 of 3
String algorithms.
6 Approximation Algorithms: Introduction, Applications: Vertex Cover Problem, TSP 7
Randomized Algorithms: Monte Carlo Problem, Application: Quick Sort ,Pattern
matching
NP completeness Polynomial time problem, Non-deterministically Polynomial (NP)
Problems, NP-Completeness (Hard Problem) and reducibility

Suggested Specification table with Marks (Theory) (Revised Bloom’s Taxonomy):

Distribution of Theory Marks R: Remembering; U: Understanding; A: Application,


R U A N E C N: Analyze; E: Evaluate; C: Create
10% 25% 20% 25% 10% 10%

Note: This specification table shall be treated as a general guideline for students and teachers. The
actual distribution of marks in the question paper may vary slightly from above table.

Reference Books:
1 "Introduction to Algorithms" by Cormen, Leiserson, Rivest, Stein
2 “Fundamentals of Algorithmics” by Gilles Brassard and Paul Bratley
3 "Analysis of Algorithms_ An Active Learning Approach" by Jeffrey J. McConnell
4 "Randomized algorithms" by motwani and raghavan
5 "The Design and Analysis of Computer Algorithms" by Aho, Hopcroft, Ullman
6 Ellis Horowitz, Sahani, Rajsekharam, "Fundamentals of Computer Algorithms", University
Press
7 Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, 2nd Edition, Pearson, 2004
8 M T Goodrich, Roberto Tamassia, Algorithm Design, John Wiley, 2002
9 Click or tap here to enter text.
1 Click or tap here to enter text.
0

Course Outcomes (CO):


Sr. Course Outcome Statements %weightag
e
CO-1 Analyze the time complexity/performance of different algorithms and 20%
gain basic knowledge of data structures.
CO-2 Identify appropriate design techniques for various problems. 20%
CO-3 Implement the Algorithms for Constructing the Different Types of Trees. 30%
Understand the Graph and its Application in Real Life using Different
Algorithms.
CO-4 Understanding Properties, Operations, Analysis and applications of data 20%
structures like Skip Lists, Tries, Dynamic Trees, Splay Trees, Hashing etc.
CO-5 Categorize the different problems in various classes according to their 10%
complexity.

Page 2 of 3
List of Practicals / Tutorials:
1 Implement a Program for Doubly LinkedList with All Cases for Insertion and Deletion of the
Node in it.
2 Implement merge sort algorithm and quick sort algorithm.
3 Implement BFS algorithm.
4 Implement DFS algorithm.
5 Implement shortest path Floyd-Warshall algorithm.
6 Implement Bellman-Ford algorithm.
7 Implement a Program to Construct Red-Black Tree with Operations like Insertion and
Deletion.
8 Design a Simple Search Engine to Display the Possible Websites upon Entering a Search
Query. Use Suitable Data Structure for Storage and Retrieval.
9 Write a Program to Implement Trie Data Structure with Operations like Insertion and
Deletion.
10 Implement kD Tree.

Supplementary learning Material:


1 https://nptel.ac.in/courses/106/105/106105164/
2 https://nptel.ac.in/courses/106/102/106102064/

Curriculum Revision:
Version: 1
Drafted on (Month-Year): Apr-20
Last Reviewed on (Month-Year): Jul-20
Next Review on (Month-Year): Apr-22

Page 3 of 3

You might also like