Data Structure is the study of how to organize data in memory so the operations a program actually needs — inserting, deleting, searching, sorting — stay fast as that data grows. This book teaches every structure through one running example: Pustaka Ceria, a small campus library, whose growing needs map onto a new chapter every few weeks.

A416 ChaptersBI · EN
Profitina Data Structure
Download Full Book (PDF)

Overview

Data Structure (DS) opens with a C/C++ refresher and the memory model behind arrays, then moves through searching and sorting, stacks and queues, pointers and functions, singly and doubly linked lists, recursion, trees and binary search trees, graphs, heaps and priority queues, and hashing and hash tables. Rather than switching examples every chapter, the whole course follows one running case study — Pustaka Ceria, a small campus reading room — whose real, growing needs (finding a book fast, keeping a waiting queue, tracking who borrowed what) map directly onto the data structure introduced in that chapter, so every abstract idea lands as a concrete, working piece of the same system.

What You Will Learn

  • Reason precisely about arrays, pointers, and memory layout in C/C++, including how functions actually receive and modify data.
  • Implement and use stacks, queues, singly and doubly linked lists as the building blocks of larger structures.
  • Apply recursion correctly, and recognize when it is the natural tool versus when it isn’t.
  • Build and search binary search trees, and traverse and process general trees and graphs.
  • Implement heaps and priority queues, and hash tables with real collision handling.
  • Choose the right data structure for a real requirement — not from memory, but because you built the same system, Pustaka Ceria, with each one in turn.

Inside the Book

  1. C/C++ Refresher & Memory Model → Arrays Foundations — variables, memory, and arrays as the foundation everything else builds on, introducing Pustaka Ceria.
  2. Searching — linear and binary search, and why the difference matters at scale.
  3. Sorting — classic sorting algorithms as a data-structures-level, implementation-focused pass.
  4. Quiz 1 — a checkpoint across arrays, searching, and sorting.
  5. Stack & Queue — first-in/first-out and last-in/first-out structures, and where each belongs.
  6. Pointers & Functions — passing data by reference, and the memory reasoning linked structures depend on.
  7. Singly Linked Lists — building a dynamic, pointer-based list from scratch.
  8. Midterm — a checkpoint across stacks, queues, pointers, and linked lists.
  9. Doubly Linked Lists — traversal in both directions, and the trade-offs against a singly linked list.
  10. Recursion — self-referential functions, base cases, and the call stack made visible.
  11. Trees and Binary Search Trees (BST) — hierarchical structures, and ordered search over them.
  12. Quiz 2 — a checkpoint across recursion and trees.
  13. Graphs — representing and traversing networks of connected data.
  14. Heaps & Priority Queues — always retrieving the highest-priority item efficiently.
  15. Hashing & Hash Tables — near-constant-time lookup, and how collisions are actually handled.
  16. Final Exam — a cumulative checkpoint across the full Pustaka Ceria system built over the semester.
Who this book is for: computer science and informatics undergraduates taking their first dedicated data-structures course, coming in with basic C/C++ and wanting to see every structure earn its place inside one real, growing system.

💬 Community Discussion