Dr. Puneeth Thotad
2026/09/02
5 / 5
Data Structures Using C++, 2nd Edition
Data Structures Using C++, 2nd Edition by D. S. Malik is a comprehensive and practical textbook that provides a systematic introduction to data structures and their implementation using C++. The book is particularly suitable for undergraduate and postgraduate students in Computer Science and Information Technology, as well as programmers who want to strengthen their understanding of fundamental data structures and algorithms.
One of the major strengths of the book is its structured and progressive presentation. It introduces the necessary C++ programming and object-oriented concepts before moving toward more advanced data structures. Topics such as arrays, linked lists, stacks, queues, recursion, trees, graphs, hash tables, sorting, searching, and graph algorithms are presented in a manner that helps readers gradually build their conceptual understanding.
The book effectively combines theoretical explanations with practical C++ implementations. The inclusion of complete programs is particularly valuable for students because it allows them to understand not only how a data structure works conceptually but also how it can be implemented and used in real programming situations. This practical orientation makes the book useful for laboratory courses and programming assignments in addition to conventional classroom learning.
Another notable feature is its emphasis on algorithmic efficiency and problem-solving. Understanding time and space requirements is an essential component of data structures, and the book helps students appreciate why one implementation or algorithm may be preferable to another. The exercises and programming problems further encourage students to apply their knowledge rather than simply memorize definitions and algorithms.
The coverage of object-oriented programming concepts is also beneficial. Concepts such as classes, encapsulation, and inheritance provide an appropriate foundation for implementing abstract data types and reusable data structures in C++. This makes the book relevant not only for learning data structures but also for developing good programming practices.
Strengths
Clear and systematic treatment of fundamental data structures.
Strong integration of C++ programming with data-structure concepts.
Practical implementation examples help bridge theory and programming practice.
Covers important searching, sorting, tree, graph, and hashing algorithms.
Emphasizes algorithm efficiency and problem-solving.
Exercises provide opportunities for practice and self-assessment.
Suitable for academic courses as well as independent learning.
Provides a useful foundation for programming interviews and competitive programming.