100 DAYS OF DATA STRUCTURES AND ALGORITHMS

Aditya Anand
2 min readSep 21, 2022

--

DAY -∞ to 0

Use C or C++ as your only programming language. Make sure you are familiar with pointers and objects.

Resources: cppreference.com

DAY 1

Understand the concept of Algorithmic complexity.

For now, ignore the theory, but you should be able to calculate the time and space complexity for every line of code you write.

Resources: wikipedia.org/wiki/Algorithmic_complexity

DAY 2–10

Start with some simple data structures:

  1. Arrays
  2. Linked lists
  3. Strings
  4. Stacks
  5. Queues

To code them all, you must understand their fundamental operations (insert, delete, search, traversal), as well as their complexity (Big-O Algorithm Complexity Cheat Sheet).

Resources: bigocheatsheet

DAY 11–25

Let’s now learn some simple algorithms:

  1. Sorting
  2. Search
  3. Prime Numbers
  4. Strings
  5. Miscellaneous

Day 26–50

Once you are comfortable with everything above, start doing problems from:

DAY 51–60

Learn some non-linear data structures,

  1. Tree: Binary Tree, Binary Search Tree, Heaps
  2. Hash table
  3. Graph

DAY 61–90

Refer to the previous resources and start by working on problems involving trees, hash tables, heaps, and graphs after consulting the prior materials.

Also read:

IMPORTANT DATA STRUCTURES FOR GOOGLE INTERVIEWS

MUST KNOWN 15 GITHUB REPOS FOR DEVELOPERS⭐

DAY 91–100

Understand:

  1. Computational complexity theory
  2. and NP-completeness
  3. Knapsack problem
  4. Travelling salesman problem
  5. SAT problem

The only solution is to keep trying until you succeed. You must put in genuine effort and develop programmes; don’t just read about it and watch videos. Debugging entails determining the root cause of malfunctioning programmes.

You aren’t making a true effort if you quit up after 10 minutes.

--

--