This document introduces different data structures used for organizing data in algorithms and programs. It defines data structures as logical models for organizing data and states that algorithms and data structures together form programs. There are two types of data structures - primitive and non-primitive. Primitive structures like integers and characters are predefined while non-primitive structures like arrays, linked lists, stacks and queues are derived from primary types. Common non-primitive structures are described including their uses and operations. Trees and graphs are introduced as non-linear data structures.