Start here · No DSA experience needed

What is DSA?

DSA stands for Data Structures and Algorithms. It is the art of organizing information and solving problems step by step — so your programs can work correctly and efficiently.

Think of finding a book in a library. How books are arranged is the data structure; how you find a book is the algorithm.

Plain English explanations · Hands-on examples · Python and Java routes

Lesson 01 — Foundations

Understand the two halves of DSA

You already use DSA ideas every day. A phone's contact list, a shopping cart, and map directions all depend on how data is stored and how problems are solved.

01 · Data structures

Where information lives

A data structure is a way to store and organize data. Examples include arrays/lists, stacks, queues, dictionaries/maps, trees and graphs.

02 · Algorithms

What to do with information

An algorithm is a clear sequence of steps that solves a problem, such as searching, sorting, finding a route or calculating a result.

03 · Efficiency

How well a solution scales

Two algorithms can produce the same answer but take different amounts of time or memory. This is why we study time and space complexity.

A tiny hands-on demo

Find a number in an array

Below are five numbers. Choose a target and click Search. The algorithm checks numbers from left to right until it finds the target.

Try a linear search

8
3
12
5
9

Array indices start at 0, not 1.

Try searching for 12.

Equivalent Python code

numbers = [8, 3, 12, 5, 9]
target = 12

for i, value in enumerate(numbers):
    if value == target:
        print("Found at index", i)
        break
else:
    print("Not found")

In the worst case, this algorithm checks every element. For n items, linear search takes O(n) time.

One week to get started

Your first seven days of DSA

A suggested plan, not a deadline. Repeat a day whenever you need more practice.

Day 1Understand DSA
Day 2Lists and arrays
Day 3Loops and tracing
Day 4Linear search
Day 5Sorting basics
Day 6Complexity O(n)
Day 7Three exercises