Data Structures using C & C++, As per AICTE

Rajesh K. Shukla

ISBN: 9788126508600

520 pages

INR 599

Description

The book has been written in a simple and comprehensible manner to enable the students to grasp important concepts easily. The student-friendly nature of the book adds to its value and the presence of a large number of examples and illustrations increases its utility. End-of-chapter exercises, containing objective-type problems as well as long-answer type questions, have been included to test the students’ understanding of the topics discussed. A number of model question papers have also been included at the end of the book to help students gain practice in problem solving. The book is organized in such a manner that students and programmers will find it easy to read and understand.

Preface

 

1 Introduction to Data Structures

1.1 Definition

1.2 Algorithms

1.3 Complexities

1.4 Program Design

1.5 Abstract Data Types

1.6 Generic Abstract Data Types

 

2 Arrays

2.1 Defining an Array

2.2 Types of Arrays

Solved Examples

 

3 Introduction to Structure, Class and Template

3.1 Introduction to Structure

3.2 Introduction to Unions

3.3 Introduction to Class and Objects

3.4 Introduction to Template

 

4 Pointers and Dynamic Memory Management

4.1 Declaration of a Pointer

4.2 Pointers and One-Dimensional Arrays

4.3 Pointers and Two-Dimensional Arrays

4.4 Arrays of Pointers

4.5 Pointers and Strings

4.6 Pointers, Structures and Class

4.7 Pointers and Functions

4.8 Pointer to a Pointer

4.9 Dynamic Memory Management

 

5 Stack and Queues

5.1 Stack

5.2 Stack Representation and Implementation

5.3 Stack Operations

5.4 Applications of Stack

5.5 Multiple Stack

5.6 Queue

5.7 Queue Representation and Implementation

5.8 Queue Operations

5.9 Types of Queue

 

6 Linked List

6.1 Linked List as Data Structure

6.2 Representation of Linked List

6.3 Operations on the Linked List

6.4 Comparison between Array and Pointer Representation of Linked List

6.5 Stack as a Linked List

6.6 Queue as a Linked List

6.7 Doubly Linked List

6.8 Circular Linked List

6.9 Representation of Circular Linked List

6.10 Josephus Problem

6.11 Applications of Linked List

 

7 Tree

7.1 Definition of Tree

7.2 Binary Tree

7.3 Representation of a Tree

7.4 Operations on the Binary Tree

7.5 Expression Tree

7.6 General Tree

7.7 Threaded Binary Tree

7.8 Binary Search Tree

7.9 Balanced Tree

7.10 Advantages and Disadvantages of Tree Data Structures

 

8 Graph

8.1 Graph Terminologies

8.2 Types of Graph

8.3 Representation of Graph

8.4 Traversal of Graph

8.5 The Minimum Spanning Tree

8.6 The Shortest Path

 

9 Searching

9.1 Types of Searching

9.2 Hashing

9.3 Hash Functions

9.4 Collision and Collision Resolution Techniques

 

10 Sorting Algorithms

10.1 Bubble Sort

10.2 Insertion Sort

10.3 Selection Sort

10.4 Quick Sort

10.5 Heap Sort

10.6 Merge Sort

10.7 Radix Sort

10.8 Sorting Summary

 

11 Files

11.1 Basic Terminologies

11.2 Classification of Files

11.3 File Organization

11.4 Basic Operations with Files in C++

11.5 Basic Operations with Files in C

 

Summary

Key Terms

Multiple-Choice Questions

Review Questions

Programming Assignments

Answers

 

Model Question Papers

 

Index