Data Structure — Free Notes & Tutorial
Free Data Structures notes for BCA — arrays, linked lists, stacks, queues, trees, graphs and sorting algorithms with PYQ papers. Free Data Structures course on SikshaSarovar.
This Data Structure course is part of Siksha Sarovar and is 100% free for students in India — no sign-up required to read. It contains 14 structured lessons with examples, and pairs with our free online compiler and AI tutor.
What you will learn
- Arrays
- Linked lists
- Trees
- Graphs
- Sorting algorithms
Course content (14 lessons)
- Unit 1: Fundamentals of Data Structures — Introduction to Data Structures The study of Data Structures is fundamental to Computer Science. It is not just about storing data; it's about structuring data in a way that…
- Unit 1: Detailed Component - Arrays — Arrays: A Deep Dive Definition: An array is a finite, ordered collection of homogeneous (similar) data elements stored in contiguous (adjacent) memory locations. Key Properties:…
- Unit 1: Detailed Component - Stacks — Stacks: The LIFO Structure Definition: A Stack is a linear data structure where insertion and deletion are permitted at only one end, called the Top . Principle: LIFO (Last In,…
- Unit 1: Detailed Component - Queues — Queues: The FIFO Structure Definition: A Queue is a linear data structure that permits insertion at one end ( Rear ) and deletion at the other end ( Front ). Principle: FIFO…
- Unit 2: Introduction to Linked Lists — Linked Lists: Conceptual Overview A Linked List is a fundamental linear data structure that breaks away from the rigid memory allocation of arrays. Each element (node) contains…
- Unit 2: Two-Way and Header Lists — Two-Way Lists (Doubly Linked Lists) A Singly Linked List is a one-way street. You can only move forward. If you are at Node 50 and need Node 49, you must start from the beginning.…
- Unit 2: Trees - Terminology — Introduction to Trees Trees are Non-Linear, Hierarchical Data Structures where data is organized in parent-child relationships. Real World Analogy: A computer file system. Root…
- Unit 2: Tree Operations & Algorithms — Tree Traversal Algorithms Traversal is visiting each node exactly once in a systematic way. Trees use Recursion for traversal. Traversal Methods — Comparison Traversal Order…
- Unit 3: AVL Trees & M-Way Search Trees — AVL Trees: The Need for Balance The Problem: A BST fed sorted data (10, 20, 30, 40) degenerates into a linked list. Search becomes O(n) instead of O(log n) . BST vs AVL —…
- Unit 3: Indexing and B-Trees — Indexing: The Library Catalog Analogy Searching a 1000-page book page-by-page is slow. An Index lets you jump directly to the right page. Database Indexing works identically — a…
- Unit 3: Example Creating a B-Tree — Step-by-Step B-Tree Creation Let's build a B-Tree of Order 3 . Max Keys per Node: 2 (M-1) Max Children per Node: 3 (M) Overflow: Occurs at 3rd key. Action: Split & Promote Median…
- Unit 4: Sorting Techniques — Sorting: Organizing Chaos Sorting is fundamental. Whether it's organizing files by date, contacts by name, or products by price, sorting is everywhere. Comprehensive Sorting…
- Unit 4: Searching Techniques — Searching: Finding the Needle Searching is the operation of finding a specific record (Key) in a dataset. Searching Algorithms — Comparison Algorithm Best Average Worst Requires…
- PYQ: End Term December 2025
Unit 1: Fundamentals of Data Structures
Introduction to Data Structures
The study of Data Structures is fundamental to Computer Science. It is not just about storing data; it's about structuring data in a way that models the real-world problem effectively and allows for efficient processing. A data structure scheme involves the logical arrangement of data and the set of operations that can be performed on it.
What is an Abstract Data Type (ADT)?
Definition: An ADT is a mathematical model for data types where it specifies the type of data, the operations that can be performed, and the behavior of those operations — without specifying how they are implemented.
| Component | Description | Example (Stack ADT) |
|---|---|---|
| Data | What values it stores | A collection of elements |
| Operations | What can be done | Push, Pop, Peek, isEmpty |
| Behavior | Rules/constraints | LIFO ordering, Overflow/Underflow checks |
| Implementation | NOT specified by ADT | Could use Array or Linked List internally |
Key Insight: The same ADT can have multiple implementations. A Stack ADT can be implemented using an array OR a linked list. The user of the Stack doesn't need to know which.
Basic Terminology and Definitions
To understand data structures, we must first define the building blocks of data organization.
| Term | Definition | Example |
|---|---|---|
| Data | Raw, unprocessed facts, figures, or values | 25, "John", 75.5 |
| Information | Processed data that holds meaning | "John is 25 years old" |
| Data Item | Smallest unit of information with meaning | Roll Number in a Student record |
| Group Item | Data item divisible into sub-items | Date of Birth → Day, Month, Year |
| Elementary Item | Data item that cannot be divided further | Gender (M/F), ID Number |
| Entity | Real-world object or concept | Student, Employee, Car |
| Attribute | Property describing an entity | Color, Height, Salary |
| Entity Set | Collection of similar entities | All students in a class |
Field, Record, and File — The Data Hierarchy
Bit → Byte → Field → Record → File → Database
- Field: A single elementary unit (e.g., phone number cell).
- Record: Collection of related fields (e.g., one student row).
- File: Collection of related records (e.g., entire student table).
Classification of Data Structures
1. Primitive vs. Non-Primitive
| Feature | Primitive | Non-Primitive |
|---|
| Definition | Fundam
Frequently asked questions
Is the Data Structure course really free?
Yes. The entire Data Structure course on Siksha Sarovar is free to read with no account required. You can optionally sign in with Google to save your progress.
Do I get a certificate for Data Structure?
Yes — finish the lessons and pass the quiz to earn a free, verifiable certificate you can share on LinkedIn or with recruiters.
Can I run code while learning?
Yes. The built-in online compiler runs C, C++, Python, Java, PHP, JavaScript, C# and SQL directly in your browser — no installation needed.