0% found this document useful (0 votes)
2 views

Advanced Data Structures and Algorithms

Uploaded by

janus341268
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Advanced Data Structures and Algorithms

Uploaded by

janus341268
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Department of Computer Science and Engineering

Advanced Data Structures and Algorithms


M.Tech. I Year I Term
Course Objectives
• To introduce the fundamental design, analysis, and implementation of basic data structures.
• To enhance the basic concepts in the specification and analysis of programs.
• To introduce and practice advanced algorithms and programming techniques necessary for
developing sophisticated computer application programs
• To get accustomed with various programming constructs such as divide-and-conquer,
backtracking, and dynamic programming.
• To learn new techniques for solving specific problems more efficiently and for analyzing
space and time requirements.
Syllabus
Module – I
Essentials of Data Structures
Analysis of Algorithms, Asymptotic Notations, Review of Basic Data Structures.
Lab Tasks:
1. Perform asymptotic analysis with Fibonacci sequence
2. Practice dynamic memory allocation and its applications in algorithm implementation
Module – II
Stacks and Queues
Stack ADT, Queue ADT, Circular Queues, Priority Queues, Double-Ended Queues, Operations and
Implementations.
Lab Tasks:
1. Perform balanced parathesis check using stack
2. Simulate Producer-Consumer problem using Circular Queue
Module – III
Advanced Trees
Binary Trees, Generic Trees, AVL Trees, B Trees, Red-Black Trees, Splay Trees.
Lab Tasks:
1. Write functions to find the height of a tree and depth of a node in an AVL Tree and B Tree
2. Implement the balancing process after insertion, including color flips and rotations to
maintain the Red-Black Tree properties
Module – IV
Graph Algorithms
Representation of Graphs, Graph Traversals, Minimum Spanning Tree Algorithms.
Lab Tasks:
1. Implement DFS and BFS to detect cycles in a directed graph and undirected graph
2. Implement Prim's and Kruskal's algorithms and analyse their time complexity on graphs
with different structures (e.g., sparse vs. dense graphs)

Module – V
Hashing in Data Structures
Hash Table ADT, Hash Function, Collision Resolution Techniques, Advanced Hashing
Techniques, Applications of Hashing, Challenges in Hashing.
Lab Tasks:
1. Understand the structure and working of a Hash Table and implement the Hash Table ADT
2. Explore advanced hashing techniques that improve the performance of basic hash tables
Module – VI
Pattern Matching Algorithms
Brute Force Method, Knuth-Morris-Pratt Algorithm, Boyer-Moore Algorithm.
Lab Tasks:
1. Analyse and discuss the time complexity of the brute force algorithm (best case, worst case,
and average case)
2. Compare the performance of the Knuth-Morris-Pratt Algorithm and the Boyer-Moore
algorithm on various test cases
Module – VII
Searching Strategies
Interpolation Search, Exponential Search, Jump Search.
Lab Tasks:
1. Analyse when interpolation search is more efficient than binary search
2. Compare the performance of jump search, linear search, and binary search on various test
cases
Module – VIII
Sorting Strategies
Multi-way Merge Sort, Heap Sort, Shell Sort.
Lab Tasks:
1. Implement heap sort using a min-heap for ascending order
2. Implement Shell sort and experiment with different gap sequences
Module – IX
Dynamic Programming Techniques
Matrix Chain Multiplication, 0/1 Knapsack, Longest Common Sub sequence.
Lab Tasks:
1. Implement Matrix Chain Multiplication with Dynamic Memory Allocation
2. Optimize the space complexity of the 0/1 Knapsack problem
Module – X
Divide and Conquer Strategies
Strassen’s Matrix Multiplication, Master Theorem, Parallel Algorithms.
Complexity Classes
P, NP Hard and NP Complete Problems
Lab Tasks:
1. Implement traditional matrix multiplication and Strassen’s matrix multiplication
2. Compare the practical performance of divide and conquer algorithm against the theoretical
time complexity derived using the Master Theorem

Course Outcomes
• Students are familiar with algorithmic techniques such as brute force, greedy, and divide and
conquer.
• Application of advanced abstract data type (ADT) and data structures in solving real world
problems.
• Effectively combine fundamental data structures and algorithmic techniques in building a
complete algorithmic solution to a given problem

Text Books
• Data structures, Algorithms and Applications in Java, S.Sahni, Universities Press.
• Data structures and Algorithms in Java, Adam Drozdek, 3rd edition, Cengage Learning.
• Data structures and Algorithm Analysis in Java, M.A.Weiss, 2nd edition
• Introduction to Algorithms T. H. Cormen, C. E. Leiserson, R. L. Rivest, , Prentice hall.
• Algorithms and complexity H. S. Wilf, , Prentice hall.
• Data Structures and Algorithms Made Easy, Narasimha Karumanchi, CareerMonk
Publications
Reference Books
• Java for Programmers, Deitel and Deitel, Pearson education.
• Data structures and Algorithms in Java, R.Lafore, Pearson education.
• Java: The Complete Reference, 8th editon, Herbert Schildt, TMH.
• Data structures and Algorithms in Java, M.T.Goodrich, R.Tomassia, 3rd edition, Wiley
India Edition.
• Data structures and the Java Collection Frame work,W.J.Collins, Mc Graw Hill.
• Classic Data structures in Java, T.Budd, Addison-Wesley (Pearson Education).
• Data structures with Java, Ford and Topp, Pearson Education.
• Data structures using Java, D.S.Malik and P.S.Nair, Cengage learning.
• Data structures with Java, J.R.Hubbard and A.Huray, PHI Pvt. Ltd.
• Data structures and Software Development in an Object-Oriented Domain, J.P.Tremblay
and G.A.Cheston, Java edition, Pearson Education.

*****

You might also like