/DataStructures

Primary LanguageC++GNU General Public License v3.0GPL-3.0

DataStructures

This repository is made for the people who are in intermediate phase of their learning journeys. Starting from basic data structures, we'll implement advanced Data Structures. I hope the journey will be equally rewarding to you as it was to me.

The whole syllabus is divided into weeks. Every week has an assignment and solutions. The goal is to Implement the data structures and related algorithms given below in a high level programming language.

Topics to be Covered :

Introduction:

Overview of various linear and non-linear data structures.

Complexity Analysis:

Introduction to asymptotic complexity, Complexity of recursive algorithms, Amortized complexity, Complexity analysis of various sorting and searching techniques, Sorting in linear time.

Tree Structures:

AVL Trees, Red-Black Trees, Splay Trees, B-trees, B+ Trees, Fibonacci heaps, Data Structures for Disjoint Sets, Augmented Data Structures, Self-Adjusting Data Structures, Temporal data structures, Succinct data structures, Dictionaries and cuckoo hashing.

Data Structures for Graphs and Related Algorithms:

Representation, Type of graphs,Paths and circuits:, Euler graphs, Hamiltonian paths and circuits, Cut-sets, Connectivity and separability, Planar graphs, Isomorphism, Graph colouring, Covering and partitioning, Depth- and breadth-first traversals, Minimum spanning tree: Prim’s and Kruskal’s algorithms, Shortest-path Algorithms: Dijkstra’s and Floyd’s algorithm, Topological sort, Max flow: Ford-Fulkerson algorithm, Max flow-min cut.

Recommended Books:

  1. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms,The MIT Press.
  2. Y. Langsam, M. J. Augenstein, and A. O. Tenenbaum, Data Structures Using C and C++, Pearson Education India.
  3. Peter Brass, Advanced Data Structures, Cambridge University Press.
  4. J. Kleinberg and E. Tardos, Algorithm Design, Pearson Education India.
  5. E. Horowitz, S Sahni, & S. Rajasekaran, Computer Algorithms, Computer Science Press.