# Data Structure Interview Questions for Automation Testing ## Data Structure Interview Questions and Answers:

There is a list of the top frequently asked Data Structure Interview Questions and Answers are given below.

#### 1. What is data structure?

Ans The term ‘data‘ means a value or set of values. It specifies either the value of a variable or a constant. The Data Structure is the logical or mathematical arrangement of data in memory. It considers not only the physical layout of the data items in the memory but it is the relationships between the data items and the operations. The Data structure uses in almost every program or software system. Such as Array, Stack, Queue, Linked list, Tree, Graph, Sorting, Searching and Hashing.

#### 2. Define LIFO.

AnsIt stands for Last in First out. The last inserted item will be deleted first that is why stack is also called LIFO.

#### 3. What is a linked list?

Ans A linked list is a dynamic linear data structure that contains a collection of data elements that says nodes.

#### 4. What is a stack?

Ans A stack is a linear data structure in which insertion of the new data element and deletion of an existing data element is done from only one end.

#### 5. What is a queue?

Ans A queue is a linear data structure in which deletion can take place only at one end which called the Front, and insertions can take place only at the other end which called the Rear.

#### 6. Difference between a PUSH and a POP.

1. Data is added to the stack using the PUSH operation.
It is retrieved using the POP operation.

#### 7. Define postfix expression.

Ans In this postfix expression, operators are written after the operands. This expression is also called the reverse polish notation. The expression to multiply two X and Y is written in prefix notation as:

```XY*
```

#### 8. What is a dequeue?

Ans Deque is a linear list where items can be inserted or deleted at either end but not from the middle. So, we can insert or delete elements from both the rear and from the end.

#### 9. Explain Binary Search Tree.

Ans A binary search tree is a binary tree in which each node has a value greater than every node of its left sub-tree and less than every node of its right sub-tree. This type of tree does not contain a duplicate value.

#### 10. What is an AVL tree?

Ans AVL Tree is a binary search tree in which the balance factor of any node can have only three values -1, 0 or 1. The name AVL comes from the Russian mathematician G.M Adelson – Velskii – E.M. Landis developed this tree in 1962.

#### 11. Difference between NULL and VOID?

Ans 1. NULL is a value.
VOID is a data type identifier.

2. A variable assigned with a NULL value represents an empty value.
The VOID is used for identifying pointers having no initial size.

#### 12. Write the syntax in C to create a node in the singly linked list.

Ans

```newNode = Node(data);
```

#### 13. Explain tree traversal?

Ans There are three standard ways of traversing a binary tree T with root R.
1. Preorder Traversal
2. In order Traversal
3. Postorder Traversal

#### 14. How does Kruskal’s Algorithm work?

Ans Kruskal’s algorithm treats a graph as a forest and each node in it as an individual tree. A tree connects to another tree only if it:

i. It has the least cost among all the available options.
ii. It does not violate the MST properties.

#### 15. What do you understand by Heap in data structure?

Ans A heap is a complete binary tree and it is implemented in an array as the sequential representation rather than a linked representation. In Data Structure, there are mainly two types of Heap. A heap says Max Heap or Descending Heap if every node of the heap has a value greater than or equal to the value of every child of that node. Similarly, a heap says Min Heap or Ascending Heap if every node of the heap has a value less than or equal to the value of every child of that node.

#### 16. Explain the Tower of Hanoi problem.

Ans Tower of Hanoi is a famous recursive problem that is based on 3 pegs and a set of discs of different sizes.

#### 17. Define Hashing.

Ans Hashing defined as a function that takes a key (k) as input and provides a bucket index as output.

#### 18. Write the recursive C function to count the number of nodes present in a binary tree.

Ans

```static int counter = 0;
int countnodes(struct node *root)
{
if(root != NULL)
{
countnodes(root->left);
counter++;
countnodes(root->right);
}
return counter;
}
```

#### 19. Which sorting algorithm is considered the fastest? Why?

Ans Quick Sort algorithm is generally considered the fastest algorithm because:
i. Quick Sort is a cache-efficient algorithm.
ii. It can skip some swaps.
iii. It is also efficient even in worst-case input sets, as the order is generally random.