# Data Structures Interview Questions and Answers

https://www.computersprofessor.com/2016/04/data-structures-interview-questions-and-answers.html

**1.What is data structure?**

A data structure is a way of organizing data that considers not only the items stored, but also their relationship to each other. Advance knowledge about the relationship between data items allows designing of efficient algorithms for the manipulation of data.

**2.Minimum number of queues needed to implement the priority queue?**

Two. One queue is used for actual storing of data and another for storing priorities.

**3.What are the notations used in Evaluation of Arithmetic Expressions using prefix and postfix forms?**

Polish and Reverse Polish notations.

**4.List out few of the Application of tree data-structure?**

i)The manipulation of Arithmetic expression

ii)Symbol Table construction

iii)Syntax analysis.

ii)Symbol Table construction

iii)Syntax analysis.

**5.What is the type of the algorithm used in solving the 8 Queens problem?**

Backtracking

**6.In RDBMS, what is the efficient data structure used in the internal storage representation?**

B+ tree. Because in B+ tree, all the data is stored only in leaf nodes, that makes searching easier. This corresponds to the records that shall be stored in leaf nodes.

**7. What is a spanning Tree?**

A spanning tree is a tree associated with a network. All the nodes of the graph appear on the tree once. A minimum spanning tree is a spanning tree organized so that the total edge weight between nodes is minimized.

**8. List out the areas in which data structures are applied extensively?**

Compiler Design, Operating System, Database Management System, Statistical

analysis package, Numerical Analysis, Graphics, Artificial Intelligence, Simulation

analysis package, Numerical Analysis, Graphics, Artificial Intelligence, Simulation

**9. Translate infix expression into its equivalent post fix expression: (A-B)*(D/E)**

(A-B)*(D/E) = [AB-]*[DE/] = AB-DE/*

**10. What are priority queues?**

A priority queue is a collection of elements such that each element has been assigned a priority.

**11. What is a string?**

A sequential array of characters is called a string.

**12. What is Brute Force algorithm?**

Algorithm used to search the contents by comparing each element of array is called Brute Force algorithm.

**13. What are the limitations of arrays?**

i)Arrays are of fixed size.

ii)Data elements are stored in continuous memory locations which may not be available always.

iii)Adding and removing of elements is problematic because of shifting the locations.

ii)Data elements are stored in continuous memory locations which may not be available always.

iii)Adding and removing of elements is problematic because of shifting the locations.

**14. How can you overcome the limitations of arrays?**

Limitations of arrays can be solved by using the linked list.

**15. What is a linked list?**

Linked list is a data structure which store same kind of data elements but not in continuous memory locations and size is not fixed. The linked lists are related logically.

**16. What is a node?**

The data element of a linked list is called a node.

**17. What does node consist of?**

Node consists of two fields:data field to store the element and link field to store the address of the next node.

**18. What is a queue ?**

A Queue is a sequential organization of data. A queue is a first in first out type of data structure. An element is inserted at the last position and an element is always taken out from the first position.

**19. What are the types of Collision Resolution Techniques and the methods used in each of the type?**

Open addressing (closed hashing),The methods used include:Overflow block

Closed addressing (open hashing),The methods used include:Linked list,Binary tree

Closed addressing (open hashing),The methods used include:Linked list,Binary tree

**20. What are the methods available in storing sequential files ?**

Straight merging, Natural merging, Polyphase sort, Distribution of Initial runs.

**21. Mention some of the problem solving strategies?**

The most widely strategies are listed below

i)Divide and conquer

ii)Binary doubling strategy

iii)Dynamic programming

ii)Binary doubling strategy

iii)Dynamic programming

**22. What is divide and conquer method?**

The basic idea is to divide the problem into several sub problems beyond which cannot be further subdivided. Then solve the sub problems efficiently and join then together to get the solution for the main problem.

**23. What is the need for the header?**

Header of the linked list is the first element in the list and it stores the number of elements in the list. It points to the first data element of the list.

**24. Define leaf?**

In a directed tree any node which has out degree o is called a terminal node or a leaf.

**25. What are the applications of binary tree?**

Binary tree is used in data processing.

**26. What are the different types of traversing?**

The different types of traversing are

i)Pre-order traversal-yields prefix from of expression.

ii)In-order traversal-yields infix form of expression.

iii)Post-order traversal-yields postfix from of expression.

i)Pre-order traversal-yields prefix from of expression.

ii)In-order traversal-yields infix form of expression.

iii)Post-order traversal-yields postfix from of expression.

**27. Define pre-order traversal?**

i)Process the root node

ii)Process the left subtree

iii)Process the right subtree

ii)Process the left subtree

iii)Process the right subtree

**28. Define post-order traversal?**

i)Process the left subtree

ii)Process the right subtree

iii)Process the root node

ii)Process the right subtree

iii)Process the root node

**29. Define in -order traversal?**

i)Process the left subtree

ii)Process the root node

iii)Process the right subtree

ii)Process the root node

iii)Process the right subtree

**30. What is meant by sorting?**

Ordering the data in an increasing or decreasing fashion according to some relationship among the data item is called sorting.

**31. What's the major distinction in between Storage structure and file structure and how?**

The expression of an specific data structure inside memory of a computer system is termed storage structure in contrast to a storage structure expression in auxiliary memory is normally known as a file structure.

**32. Stack can be described as a pointer. Explain?**

Because stack will contain a head pointer which will always point to the top of the Stack.All Stack Operations are done using Head Pointer. Hence Stack ca be Described as a Pointer

**33. What do you mean by: Syntax Error, Logical Error, Run time Error?**

Syntax Error-Syntax Error is due to lack of knowledge in a specific language. It is due to somebody does not know how to use the features of a language.We can know the errors at the time of compilation.

logical Error-It is due to the poor understanding of the requirement or problem.

Run time Error-The exceptions like divide a number by 0,overflow and underflow comes under this.

**34. What is mean by d-queue?**

D-queue stands for double ended queue. It is a abstract data structure that implements a queue for which elements can be added to front or rear and the elements can be removed from the rear or front. It is also called head-tail linked list.

**35. What is AVL tree?**

Avl tree is self binary tree in which balancing factor lie between the -1 to 1.It is also known as self balancing tree.

**36. what is binary tree?**

Binary tree is a tree which has maximum no. of childrens either 0 or 1 or 2. i.e., there is at the most 2 branches in every node.

**37. What is the difference between a stack and a Queue?**

Stack – Represents the collection of elements in Last In First Out order. Operations includes testing null stack, finding the top element in the stack, removal of top most element and adding elements on the top of the stack.

Queue - Represents the collection of elements in First In First Out order.Operations include testing null queue, finding the next element, removal of elements and inserting the elements from the queue.

Insertion of elements is at the end of the queue.Deletion of elements is from the beginning of the queue.

**38. What actions are performed when a function is called?**

i)arguments are passed

ii)local variables are allocated and initialized

iii)transferring control to the function

ii)local variables are allocated and initialized

iii)transferring control to the function

**39. What is precision?**

Precision refers the accuracy of the decimal portion of a value. Precision is the number of digits allowed after the decimal point.

**40. What do you mean by overflow and underflow?**

When new data is to be inserted into the data structure but there is no available space i.e.free storage list is empty this situation is called overflow.When we want to delete data from a data structure that is empty this situation is called underflow.

Amazing blog. Thanks for sharing.

ReplyDelete