# B.Tech 3rd Year Data Structure Study Material BOOK PDF | Download B.Tech 3rd Year Data Structure Study Material BOOK PDF

## Data Structure

Data structure represents the logical relationship which exists between different singular elements of data. Data structure is a way of organizing every data items that consider not alone the elements which are stored, but also their relationship to each other.

## Recommended Books

• Data structures, Algorithms, and Applications in C++, S.Sahni, University Press (India) Pvt.Ltd, 2nd edition, Universities Press Orient Longman Pvt. Ltd.
• Data structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson Education. Ltd., Second Edition.
• Data structures and algorithms in C++, 3rd Edition, Adam Drozdek, Thomson
• Data structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson Education. Ltd., Second Edition.
• Data structures using C and C++, Langsam, Augenstein and Tanenbaum, PHI.
• Problem-solving with C++, The OOP, Fourth edition, W.Savitch, Pearson education.

## Syllabus

##### UNIT-I: ARRAYS

Abstract Data Type, The Array as an Abstract Data Type, The Polynomial Abstract Data type- Polynomial Representation- Polynomial Addition. Spares Matrices, Introduction- Sparse Matrix Representation- Transposing a Matrix- Matrix Multiplication, Representation of Arrays.

##### UNIT-II: STACKS AND QUEUES

The Stack Abstract Data Type, The Queue Abstract Data Type, Evaluation of Expressions, Expression- Postfix Notation- Infix to Postfix.

Single Linked List and Chains, Circular Lists, Available Space Lists, Linked Stacks and Queues, Polynomials, Polynomial Representation- Adding Polynomials- Circular List Representation of Polynomials, Equivalence Classes, Sparse Matrices, Sparse Matrix Representation- Sparse Matrix Input- Deleting a Sparse Matrix, Doubly Linked Lists, Generalized Lists, Representation of Generalized Lists- Recursive Algorithms for Lists- Reference Counts, Shared and Recursive Lists

##### UNIT-IV: TREES

Representation of Trees, Binary Trees, The Abstract Data Type, Properties of Binary Tress, Binary Tree Representations, Binary Tree Traversal, Introduction, Inorder Traversal Preorder Traversal, Postorder Traversal, Thread Binary Trees, Threads, Inorder Traversal of a Threaded Binary Tree, Inserting a Node into a Threaded Binary Tree, Heaps, Priority Queues, Definition of a Max Heap, Insertion into a Max Heap, Deletion from a Max Heap, Binary Search Trees, Definition, Searching a Binary Search Tree, Insertion into a Binary Search Tree, Deletion from a Binary Search Tree, Height of Binary Search Tree.

##### UNIT-V: GRAPHS

The Graph Abstract Data Type, Introduction, Definition, Graph Representation, Elementary Graph Operation, Depth First Search, Breadth First Search, Connected Components, Spanning Trees,
Biconnected Components, Minimum Cost Spanning Trees, Kruskal S Algorithm, Prims Algorithm, Sollin’s Algorithm, Shortest Paths, and Transitive Closure, Single Source/All Destination: Nonnegative Edge Cost, Single Source/All Destination: General Weights, All-Pairs Shortest Path, Transitive Closure.

##### UNIT-VI: SORTING

Insertion Sort, Quick Sort, Merge Sort Merging, Iterative Merge Sort, Recursive Merge Sort, Heap Sort, Summary of Internal Sorting

## Important Questions

• Define an algorithm.
• State the various steps in developing algorithms?
• State the properties of algorithms.
• Define the efficiency of an algorithm?
• State the various methods to estimate the efficiency of an algorithm.
• Define the time complexity of an algorithm?
• Define the worst case of an algorithm.
• Mention the various spaces utilized by a program.
• Define the average case of an algorithm.
• Define the best case of an algorithm.
• What is the importance of the stopping case in recursive functions?
• Write a function with one positive integer parameter called n. The function will
• write 2^n-1 integers (where ^ is the exponentiation operation). Here are the patterns of output for various values of n: n=1: Output is: 1; n=2: Output is: 1 2 1; n=3: Output is: 1 2 1 3 1 2 1; n=4: Output is: 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 And so on. Note that the output for n always consists of the output for n-1, followed by n itself, followed by a second copy of the output for n-1.
• Write a recursive function for the mathematical function: f(n) = 1 if n = 1; f(n) = 2 * f(n-1) if n >= 2
• Which method is preferable in general?

a) Recursive method
b) Non-recursive method

• Write a function using Recursion to print numbers from n to 0.
•  Write a function using Recursion to enter and display a string in reverse and state whether the string contains any spaces. Don’t use arrays/strings.