“Advanced Data Structures and Algorithms” is an important subject area in Computer Science that covers more complex and advanced topics related to data structures and algorithms.

This book will teach you how to analyze algorithms to handle the difficulties of sophisticated programming. It will then help you understand how advanced data structures are used to store and manage data efficiently. Moving on, it will help you explore and work with Divide and Conquer techniques, Dynamic programming, and Greedy algorithms. Lastly, the book will focus on various String Matching Algorithms such as naïve string matching algorithms, Knuth–Morris–Pratt(KMP) Algorithm, and Rabin-Karp Algorithm.

By the end of the book, you will be able to analyze various algorithms with time and space complexity to choose the best suitable algorithms for a given problem.


  • Get familiar with various concepts and techniques of advanced data structures to solve real-world problems.
  • Learn how to evaluate the efficiency and performance of an algorithm in terms of time and space complexity.
  • A practical guide for students and faculty members who are interested in this important subject area of Computer Science.


  • Understand how to examine an algorithm's time and space complexity.
  • Explore complex data structures like AVL tree, Huffman coding, and many more.
  • Learn how to solve larger problems using Divide and Conquer techniques.
  • Identify the most optimal solution using Greedy and Dynamic Programming.
  • Learn how to deal with real-world problems using various approaches of the String Matching algorithms.


This book is aligned with the curriculum of the Computer Engineering program offered by Mumbai University. The book is designed not only for Computer Engineering and Information Technology students but also for anyone who wants to learn about advanced data structures and analysis of algorithms.