This document discusses different data structures and their implementation. It describes linear data structures like arrays, linked lists, stacks and queues that store elements sequentially and non-linear structures like trees and graphs that store elements non-sequentially. It also discusses abstract data types, static and dynamic implementation of data structures, and built-in versus user defined data structures. Real life applications of different data structures are provided.