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 Python and C++ language. The book utilizes a systematic approach wherein each data structure is explained using examples followed by its implementation using suitable programming language. It begins with the introduction to data structures and algorithms. 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. This part is concluded by discussing the two important algorithmic strategies such as - divide and conquer and greedy method. The book then focuses on the linear data structures such as arrays in which types of arrays, concept of ordered list, implementation of polynomial using arrays and sparse matrix representation and operations are discussed. The implementation of these concepts is using Python and C++ programming language. Then 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 book then covers the linear data structures such as linked list, stacks and queues. These data structures are very well explained with the help of illustrative diagrams, examples and implementations. 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.