The book has been developed to provide comprehensive and consistent coverage of both the concepts of data structures as well as implementation of these concepts using C programming. The book utilizes a systematic approach wherein each data structure is explained using examples followed by its implementation using a programming language. It begins with the introduction to data types. In this, an overview of various types of data structures is given and asymptotic notations, best case, worst case and average case time complexity is discussed. The book then focuses on the linear data structures such as arrays, stacks, queues and linked lists. In these units each concept is followed by its implementation and logic explanation part. The book then covers the non-linear data structures such as trees and graphs. These data structures are very well explained with the help of illustrative diagrams, examples and implementations. The text book then covers two important topics - hashing and file structures. While explaining the hashing - various hashing methods, and collision handling techniques are explained with necessary illustrations and examples. File structures are demonstrated by implementing sequential, index sequential and random file organization. Finally searching and sorting algorithms, their implementation and time complexities are discussed. The sorting and searching methods are illustrated systematically with the help of examples. The explanation in this book is in a very simple language along with clear and concise form which will help the students to have clear-cut understanding of the subject.