Principles of Data Structures Using C and C++ – Vinu V. Das – 1st Edition


Principles of DATA STRUCTURES using C and C++ covers all the fundamental topics to give a better understanding about the subject. Moreover, this book covers almost all the topics of the other Indian and International Universities where this subject is there in their undergraduate and graduate programs. All effort is made to discuss the topics in the simplest possible way without loosing its qualities.

The study of data structures is an essential subject of every under graduate and graduate programs related to computer science. A thorough understanding of the basics of this subject is inevitable for efficient programming.

Table of Contents


1. Programming Methodologies
1.1. An Introduction to Data Structure
1.2. Algorithm
1.3. Stepwise Refinement Techniques
1.4. Modular Programming
1.5. Top-Down Algorithm Design
1.6. Bottom-Up Algorithm Design
1.7. Structured Programming
1.8. Analysis of Algorithm
1.9. Time-Space Trade Off
1.10. Big “OH” Notation
1.11. Limitation of Big “OH” Notation
1.12. Classification of Data Structure
1.13. Arrays
1.14. Vectors
1.15. Lists
1.16. Files and Records
1.17. Characteristics of Strings
Self Review Questions

2. Memory Management
2.1. Memory Allocation in C
2.2. Dynamic Memory Allocation in C++
2.3. Free Storage List
2.4. Garbage Collection
2.5. Dangling Reference
2.6. Reference Counters
2.7. Storage Compaction
2.8. Boundary Tag Method
Self Review Questions

3. The Stack
3.1. Operations Performed on Stack
3.2. Stack Implementation
3.3. Stack Using Arrays
3.4. Applications of Stacks
3.5. Converting Infix to Postfix Expression
3.6. Evaluating Postfix Expression
Self Review Questions

4. The Queue
4.1. Algorithms for Queue Operations
4.2. Other Queues
4.3. Circular Queue
4.4. Deques
4.5. Applications of Queue
Self Review Questions

5. Linked List
5.1. Linked List
5.2. Representation of Linked List
5.3. Advantages and Disadvantages
5.4. Operation on Linked List
5.5. Types of Linked List
5.6. Singly Linked List
5.7. Stack Using Linked List
5.8. Queue Using Linked List
5.9. Queue Using Two Stacks
5.10. Polynomials Using Linked List
5.11. Doubly Linked List
5.12. Circular Linked List
5.13. Priority Queues
Self Review Questions

6. Sorting Techniques
6.1. Complexity of Sorting Algorithms
6.2. Bubble Sort
6.3. Selection Sort
6.4. Insertion Sort
6.5. Shell Sort
6.6. Quick Sort
6.7. Merge Sort
6.8. Radix Sort
6.9. Heap
6.10. External Sorting
Self Review Questions

7. Searching and Hashing
7.1. Linear or Sequential Searching
7.2. Binary Search
7.3. Interpolation Search
7.4. Fibanocci Search
7.5. Hashing
Self Review Questions

8. The Trees
8.1. Basic Terminologies
8.2. Binary Trees
8.3. Binary Tree Representation
8.4. Operations on Binary Tree
8.5. Traversing Binary Trees Recursively
8.6. Traversing Binary Tree Non-Recursively
8.7. Binary Search Trees
8.8. Threaded Binary Tree
8.9. Expression Trees
8.10. Decision Tree
8.11. Fibanocci Tree
8.12. Selection Trees
8.13. Balanced Binary Trees
8.14. AVL Trees
8.15. M-Way Search Trees
8.16. 2-3 Trees
8.17. 2-3-4 Trees
8.18. Red-Black Tree
8.19. B-Tree
8.20. Splay Trees
8.21. Digital Search Trees
8.22. Tries
Self Review Questions

9. Graphs
9.1. Basic Terminologies
9.2. Representation of Graph
9.3. Operations on Graph
9.4. Breadth First Search
9.5. Depth First Search
9.6. Minimum Spanning Tree
9.7. Shortest Path
Self Review Questions


1 Comment

  • And now, tell us what you think about this publication. Have you found it useful? Which of the topics in the book did you find most helpful? Tell us your opinion! And please, remember that keeping this site updated so you can enjoy the content requires time and effort 😉.

newest oldest most voted
Notify of
Kiran Rao

Good practical oriented book for beginners and students who are studying Data Structures.