Data Structure Questions Bank
Data Structure Questions Bank
Data Structure Questions Bank
A data structure is a way of storing data in a computer so that it can be used efficiently. Different kinds of data structures are suited to different kinds of applications. Following are some Data Structure Sample questions:
1. What is data structure?
Answer: 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. List out the areas in which data structures are applied extensively?
Answer: The name of areas are: Compiler Design, Operating System, Database Management System, Statistical analysis package, Numerical Analysis, Graphics, Artificial Intelligence, Simulation 3. What are the major data structures used in the following areas : RDBMS, Network data model & Hierarchical data model.
Answer: The major data structures used are as follows: RDBMS - Array (i.e. Array of structures) Network data model - Graph Hierarchical data model - Trees 4. If you are using C language to implement the heterogeneous linked list, what pointer type will you use?
Answer: The heterogeneous linked list contains different data types in its nodes and we need a link, pointer to connect them. It is not possible to use ordinary pointers for this. So we go for void pointer. Void pointer is capable of storing pointer to any type as it is a generic pointer type.
5. Minimum number of queues needed to implement the priority queue?
Answer: Two. One queue is used for actual storing of data and another for storing priorities.
6. What is the data structures used to perform recursion?
Answer: Stack. Because of its LIFO (Last In First Out) property it remembers its 'caller' so knows whom to return when the function has to return. Recursion makes use of system stack for storing the return addresses of the function calls. Every recursive function has its equivalent iterative (non-recursive) function. Even when such equivalent iterative procedures are written, explicit stack is to be used. 7. What are the notations used in Evaluation of Arithmetic Expressions using prefix and postfix forms? Answer: Polish and Reverse Polish notations. Convert the expression ((A + B) * C - (D - E) ^ (F + G)) to equivalent Prefix and Postfix notations. Answer: Prefix Notation: ^ - * +ABC - DE + FG Postfix Notation: AB + C * DE - - FG + ^ How many null branches are there in a binary tree with 20 nodes? Answer: 21 Let us take a tree with 5 nodes (n=5)
It will have only 6 (ie,5+1) null branches. A binary tree with n nodes has exactly n+1 null nodes. What are the methods available in storing sequential files? Answer: The methods available in storing sequential files are:
2
How many different trees are possible with 10 nodes ? Answer: 1014 For example, consider a tree with 3 nodes(n=3), it will have the maximum combination of 5 different (ie, 23 - 3 = 5) trees.
ii
iii
iv
In general: If there are n nodes, there exist 2n-n different trees. List out few of the Application of tree data-structure? Answer: The list is as follows:
List out few of the applications that make use of Multilinked Structures? Answer: The applications are listed below:
In tree construction which is the suitable efficient data structure? Answer: Linked list is the efficient data structure. What is the type of the algorithm used in solving the 8 Queens problem? Answer: Backtracking
3
In an AVL tree, at what condition the balancing is to be done? Answer: If the 'pivotal value' (or the 'Height factor') is greater than 1 or less than -1. What is the bucket size, when the overlapping and collision occur at same time? Answer: One. If there is only one entry possible in the bucket, when the collision occurs, there is no way to accommodate the colliding value. This results in the overlapping of values. Traverse the given tree using Inorder, Preorder and Postorder traversals.
Answer:
There are 8, 15, 13, 14 nodes were there in 4 different trees. Which of them could have formed a full binary tree? Answer: 15. In general: There are 2n-1 nodes in a full binary tree. By the method of elimination: Full binary trees contain odd number of nodes. So there cannot be full binary trees with 8 or 14 nodes, so rejected. With 13 nodes you can form a complete binary tree but not a full binary tree. So the correct answer is 15. In the given binary tree, using array you can store the node 4 at which location?
4
Answer: At location 6 1 2 3 4 5
Root LC1 RC1 LC2 RC2 LC3 RC3 LC4 RC4 where LCn means Left Child of node n and RCn means Right Child of node n Sort the given values using Quick Sort? 65 Answer: Sorting takes place from the pivot value, which is the first value of the given elements, this is marked bold. The values at the left pointer and right pointer are indicated using L and R respectively. 65 70L 75 80 85 60 55 50 45R 70 75 80 85 60 55 50 45
Since pivot is not yet changed the same process is continued after interchanging the values at L and R positions 65 65 65 65 45 45 45 45 75L 50 50 50 80 80L 55 55 85 85 85L 60R 60 60 60R 85L 55 55R 80 80 50R 75 75 75 70 70 70 70
When the L and R pointers cross each other the pivot value is interchanged with the value at right pointer. If the pivot is changed it means that the pivot has occupied its original position in
5
the sorted order (shown in bold italics) and hence two different arrays are formed, one from start of the original array to the pivot position-1 and the other from pivot position+1 to end. 60L 55L5 50L 45 50 55R 65 85L 80 75 80L 75 80L 75R 70R 85 85
Answer: BFS: A X G H P E M Y J DFS: A X H P E Y M J G 23. Classify the Hashing Functions based on the various methods by which the key value is found.
Direct method Subtraction method Modulo-Division method Digit-Extraction method Mid-Square method Folding method Pseudo-random method
6
24. What are the types of Collision Resolution Techniques and the methods used in each
of the type? Answer: The types of Collision Resolution Techniques are: Open addressing (closed hashing) The methods used include: Overflow block Closed addressing (open hashing) The methods used include: Linked list Binary tree 25. In RDBMS, what is the efficient data structure used in the internal storage representation?
Answer: 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.
26. Draw the B-tree of order 3 created by inserting the following data arriving in
sequence - 92 24 6 7 11 8 22 4 5 16 19 20 78 Answer:
27. What is a spanning Tree? Answer: 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. 28. Does the minimum spanning tree of a graph give the shortest distance between any 2 specified nodes? Answer: No. Minimal spanning tree assures that the total weight of the tree is kept at its minimum. But it doesn't mean that the distance between any two nodes involved in the minimum-spanning tree is minimum.
7
29. Convert the given graph with weighted edges to minimal spanning tree.
Whether Linked List is linear or Non-linear data structure? Answer: According to Access strategies Linked list is a linear one. According to Storage Linked List is a Non-linear one. Draw a binary Tree for the expression : A * B - (C + D) * (P / Q) Answer:
01 STUDENT_REC. 02 NAME. 03 FIRST_NAME PIC X(10). 03 LAST_NAME PIC X(10). 02 YEAR_OF_STUDY. 03 FIRST_SEM PIC XX. 03 SECOND_SEM PIC XX. Answer:
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. 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 3. What are the major data structures used in the following areas : RDBMS, Network data model & Hierarchical data model. ? RDBMS Array (i.e. Array of structures) 9
? Network data model Graph ? Hierarchical data model Trees 4. If you are using C language to implement the heterogeneous linked list, what pointer type will you use? The heterogeneous linked list contains different data types in its nodes and we need a link, pointer to connect them. It is not possible to use ordinary pointers for this. So we go for void pointer. Void pointer is capable of storing pointer to any type as it is a generic pointer type. 5. 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. 6. What is the data structures used to perform recursion? Stack. Because of its LIFO (Last In First Out) property it remembers its caller so knows whom to return when the function has to return. Recursion makes use of system stack for storing the return addresses of the function calls. Every recursive function has its equivalent iterative (non-recursive) function. Even when such equivalent iterative procedures are written, explicit stack is to be used.
7. What are the notations used in Evaluation of Arithmetic Expressions using prefix and postfix forms? Polish and Reverse Polish notations. 8. Convert the expression ((A + B) * C (D E) ^ (F + G)) to equivalent Prefix and Postfix notations. Prefix Notation: ^ - * +ABC - DE + FG Postfix Notation: AB + C * DE - - FG + ^ 9. Sorting is not possible by using which of the following methods? (a) Insertion (b) Selection (c) Exchange (d) Deletion (d) Deletion. Using insertion we can perform insertion sort, using selection we can perform selection sort, using exchange we can perform the bubble sort (and other similar sorting methods). But no sorting method can be done just using deletion. 10. A binary tree with 20 nodes has null branches? 21 Let us take a tree with 5 nodes (n=5)
10
It will have only 6 (ie,5+1) null branches. In general, A binary tree with n nodes has exactly n+1 null nodes. 11. What are the methods available in storing sequential files ? ? Straight merging, ? Natural merging, ? Polyphase sort, ? Distribution of Initial runs.
12. How many different trees are possible with 10 nodes ? 1014 For example, consider a tree with 3 nodes(n=3), it will have the maximum combination of 5 different (ie, 23 - 3 = 5) trees.
i ii iii iv v In general: If there are n nodes, there exist 2n-n different trees. 13. List out few of the Application of tree data-structure? ? The manipulation of Arithmetic expression, ? Symbol Table construction, ? Syntax analysis. 14. List out few of the applications that make use of Multilinked Structures? ? Sparse matrix, ? Index generation. 15. In tree construction which is the suitable efficient data structure? (a) Array (b) Linked list (c) Stack (d) Queue (e) none 11
(b) Linked list 16. What is the type of the algorithm used in solving the 8 Queens problem? Backtracking 17. In an AVL tree, at what condition the balancing is to be done? If the pivotal value (or the Height factor) is greater than 1 or less than 1. 18. What is the bucket size, when the overlapping and collision occur at same time? One. If there is only one entry possible in the bucket, when the collision occurs, there is no way to accommodate the colliding value. This results in the overlapping of values. 19. Traverse the given tree using Inorder, Preorder and Postorder traversals.
? Inorder : D H B E A F C I G J ? Preorder: A B D H E C F G I J ? Postorder: H D E B F I J G C A 20. There are 8, 15, 13, 14 nodes were there in 4 different trees. Which of them could have formed a full binary tree? 15. In general: There are 2n-1 nodes in a full binary tree. By the method of elimination: Full binary trees contain odd number of nodes. So there cannot be full binary trees with 8 or 14 nodes, so rejected. With 13 nodes you can form a complete binary tree but not a full binary tree. So the correct answer is 15. Note: Full and Complete binary trees are different. All full binary trees are complete 12
binary trees but not vice versa. 21. In the given binary tree, using array you can store the node 4 at which location?
At location 6 123--4--5 Root LC1 RC1 LC2 RC2 LC3 RC3 LC4 RC4 where LCn means Left Child of node n and RCn means Right Child of node n 22. Sort the given values using Quick Sort? 65 70 75 80 85 60 55 50 45 Sorting takes place from the pivot value, which is the first value of the given elements, this is marked bold. The values at the left pointer and right pointer are indicated using L and R respectively. 65 70L 75 80 85 60 55 50 45R Since pivot is not yet changed the same process is continued after interchanging the values at L and R positions 65 45 75 L 80 85 60 55 50 R 70 65 45 50 80 L 85 60 55 R 75 70 65 45 50 55 85 L 60 R 80 75 70 65 45 50 55 60 R 85 L 80 75 70 When the L and R pointers cross each other the pivot value is interchanged with the value at right pointer. If the pivot is changed it means that the pivot has occupied its original position in the sorted order (shown in bold italics) and hence two different arrays are formed, one from start of the original array to the pivot position-1 and the other from pivot position+1 to end. 60 L 45 50 55 R 65 85 L 80 75 70 R 55 L 45 50 R 60 65 70 R 80 L 75 85 50 L 45 R 55 60 65 70 80 L 75 R 85 13
In the next pass we get the sorted form of the array. 45 50 55 60 65 70 75 80 85 23. For the given graph, draw the DFS and BFS?
? BFS: A X G H P E M Y J ? DFS: A X H P E Y M J G 24. Classify the Hashing Functions based on the various methods by which the key value is found. ? Direct method, ? Subtraction method, ? Modulo-Division method, ? Digit-Extraction method, ? Mid-Square method, ? Folding method, ? Pseudo-random method. 25. 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
26. 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 14
in leaf nodes. 27. Draw the B-tree of order 3 created by inserting the following data arriving in sequence 92 24 6 7 11 8 22 4 5 16 19 20 78
28. Of the following tree structure, which is, efficient considering space and time complexities? (a) Incomplete Binary Tree (b) Complete Binary Tree (c) Full Binary Tree (b) Complete Binary Tree. By the method of elimination: Full binary tree loses its nature when operations of insertions and deletions are done. For incomplete binary trees, extra storage is required and overhead of NULL node checking takes place. So complete binary tree is the better one since the property of complete binary tree is maintained even after operations like additions and deletions are done on it. 29. 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. 30. Does the minimum spanning tree of a graph give the shortest distance between any 2 specified nodes? No. Minimal spanning tree assures that the total weight of the tree is kept at its minimum. But it doesnt mean that the distance between any two nodes involved in the minimum-spanning tree is minimum. 31. Convert the given graph with weighted edges to minimal spanning tree.
15
the equivalent minimal spanning tree is: 32. Which is the simplest file structure? (a) Sequential (b) Indexed (c) Random (a) Sequential 33. Whether Linked List is linear or Non-linear data structure? According to Access strategies Linked list is a linear one. According to Storage Linked List is a Non-linear one. 34. Draw a binary Tree for the expression : A * B - (C + D) * (P / Q)
35. For the following COBOL code, draw the Binary tree? 01 02 03 03 STUDENT_REC. NAME. FIRST_NAME PIC X(10). LAST_NAME PIC X(10).
Stack- Works in first in last out order. The element inserted first in stack is removed last. Queue- First in First out order. The element inserted first is removed first. Linked list- Stored data in a linear fashion. Trees- Stores data in a non linear fashion with one root node and sub nodes.
Data structure - What is a data structure? - July 31, 2009, 10:55 am by Vidya Sagar
Data structure - Define a linear and non linear data structure - July 31, 2009, 10:55 am by Vidya Sagar
Data structure - Define in brief an array. What are the types of array operations? - July 31, 2009, 10:55 am by Vidya Sagar
Data structure - What is a matrix? - July 31, 2009, 10:55 am by Vidya Sagar
18
Define an algorithm. What are the properties of an algorithm? What are the types of algorithms?
An algorithm is a series of steps or methodology to solve a problem. Properties of an algorithm:It is written in simple English. Each step of an algorithm is unique and should be self explanatory. An algorithm must have at least one input. An algorithm must have at least one output. An algorithm has finite number of steps. Types:Types of algorithms are categorized based on the context they are spoken about. Some commonly used: Brute force:- An extremity raw method that aims to finds variety of solutions and which ones the best. Reduction:- Tries and converts the given problem to a simpler and a better known problem whose complexity is not dominated by the resulting reduced algorithm's. Linear programmings, Graphs, random are the other types of algorithms.
Data structure - Define an algorithm. What are the properties of an algorithm? - July 31, 2009, 10:55 am by Vidya Sagar
Define an algorithm. What are the properties of an algorithm? What are the types of algorithms?
Algorithm: A step by step process to get the solution for a well defined problem.
19
Properties of an algorithm: - Should be written in simple English - Should be unambiguous, precise and lucid - Should provide the correct solutions - Should have an end point - The output statements should follow input, process instructions - The initial statements should be of input statements - Should have finite number of steps - Every statement should be definitive Types of algorithms: -- Simple recursive algorithms. Ex: Searching an element in a list Backtracking algorithms Ex: Depth-first recursive search in a tree Divide and conquer algorithms. Ex: Quick sort and merge sort Dynamic programming algorithms. Ex: Generation of Fibonacci series Greedy algorithms Ex: Counting currency Branch and bound algorithms. Ex: Travelling salesman (visiting each city once and minimize the total distance travelled) Brute force algorithms. Ex: Finding the best path for a travelling salesman Randomized algorithms. Ex. Using a random number to choose a pivot in quick sort).
Data structure - What is an iterative algorithm? - July 31, 2009, 10:55 am by Vidya Sagar
20
Data structure - What is an recursive algorithm? - July 31, 2009, 10:55 am by Vidya Sagar
Data structure - Explain quick sort and merge sort algorithms. - July 31, 2009, 10:55 am by Vidya Sagar
Merge Sort: A comparison based sorting algorithm. The input order is preserved in the sorted output. Merge Sort algorithm is as follows: 1. The length of the list is 0 or 1, and then it is considered as sorted. 2. Other wise, divide the unsorted list into 2 lists each about half the size. 3. Sort each sub list recursively. Implement the step 2 until the two sub lists are sorted. 4. As a final step, combine (merge) both the lists back into one sorted list.
Data structure - What is merge sort algorithm? - August 02, 2008 at 10:40 AM by Amit Satpute
Data structure - What is Bubble Sort and Quick sort? - July 31, 2009, 10:55 am by Vidya Sagar
22
Quick Sort: The best sorting algorithm which implements the divide and conquer concept. It first divides the list into two parts by picking an element a pivot. It then arranges the elements those are smaller than pivot into one sub list and the elements those are greater than pivot into one sub list by keeping the pivot in its original place.
Data structure - What is the difference between a stack and a Queue? - July 31, 2009, 10:55 am by Vidya Sagar
Data structure - Can a stack be described as a pointer? Explain. - July 31, 2009, 10:55 am by Vidya Sagar
Explain the terms Base case, Recursive case, Binding Time, Run-Time Stack and Tail Recursion.
Base case: A case in recursion, in which the answer is known when the termination for a recursive condition is to unwind back. Recursive Case: A case which returns to the answer which is closer. Run-time Stack: A run time stack used for saving the frame stack of a function when every recursion or every call occurs. Tail Recursion: It is a situation where a single recursive call is consisted by a function, and it is the final statement to be executed. It can be replaced by iteration.
Data structure - Base case, Recursive case, Run-Time Stack and Tail Recursion - Feb 27, 2010, 11:15 am by Rajmeet Ghai
Explain the terms Base case, Recursive case, Run-Time Stack and Tail Recursion.
Base case: - In this case, the output is known or when using recursion, the termination condition which restarts the function is called as base case. Recursive case: - A case which brings user to the closest answer. Binding time:Run-Time Stack: - Run Time stack contains return address, local variables and return value if any of a recursive function call. Tail Recursion: - Tail recursion consists of one recursive call with the last statement to be executed. To find factorial of a given number is an example of tail recursion. .
24
Data structure - Is it possible to insert different type of elements in a stack? How? - July 31, 2009, 10:55 am by Vidya Sagar
Data structure - Explain in brief a linked list - July 31, 2009, 10:55 am by Vidya Sagar
25
Data structure - How would you sort a linked list? - July 31, 2009, 10:55 am by Vidya Sagar
What is sequential search? What is the average number of comparisons in a sequential search?
Sequential search searches for elements in an array sequentially until the element is found. The average number of comparisons can be n+1/2.
Data structure - What is sequential search? - July 31, 2009, 10:55 am by Vidya Sagar
What is sequential search? What is the average number of comparisons in a sequential search?
Sequential search: Searching an element in an array, the search starts from the first element till the last element. The average number of comparisons in a sequential search is (N+1)/2 where N is the size of the array. If the element is in the 1st position, the number of comparisons will be 1 and if the element is in the last position, the number of comparisons will be N.
26
Data structure - What is binary searching and Fibonacci search? - July 31, 2009, 10:55 am by Vidya Sagar
mentioning its row and column. If the array has 20 integer values, it will occupy 80 bytes in memory (assuming 4 bytes for an integer). All of the bytes are in consecutive memory locations, the first row occupying the first 20 bytes, the second the next 20, and so on.
GRAPHS
36. A structure for representing a graph in which the presence of arcs between nodes is is indicated by an entry in a matrix is ________ a. Breadth-first search b. Depth-first search c. Adjacency matrix d. Adjacency list Ans. c 37. A structure for representing a graph in which the arcs are stored as lists of connections between nodes is ________ a. Breadth-first search b. Depth-first search c. Adjacency matrix d. Adjacency list Ans. d 38. The amount of space required to store an adjacency-matrix is ____ where V is a vertex set whose elements are vertices. a. O(V) b. O(V+E) c. O(V) d. O(V*E) Ans. c 39. Any edge in an adjacency matrix representation can be accessed,added or 28
removed in ______ time. a. O(V) b. O(1) c. O(E) d. O(V) Ans. b 40. For sparse graphs,the amount of memory required to store an adjacency list is ______ a. O(V) b. O(V) c. O(V+E) d. O(V*E) Ans. c 41. A technique that picks the next adjacent unvisited vertex until reaching a vertex that has no unvisited adjacent vertices is ________ a. Breadth-first search b. Depth-first search c. Adjacency matrix d. Adjacency list Ans. b 42. Consider the graph represented by the following adjacency list: 1: 236 2: 513 3: 21756 4: 57 5: 2436 6: 351 7: 34 Perform a Breadth First Search in the graph starting from node 1 and processing the edges adjacent to a node in the order they appear in the adjacency list. What is the order in which the nodes are visited? a) 1,2,3,6,4,7,5 b) 1,2,3,6,7,5,4 c) 1,2,3,6,5,4,7 d) 1,2,3,6,5,7,4 e) 1,2,3,6,7,4,5 Ans. d
29
44. If you perform a Depth First Search in a binary tree, what traversal will you obtain? a) pre-order b) in-order c) post-order d) Eulerian Ans. a 45. Given a graph G with n nodes, you want to find the node that has maximum degree. What would be the complexity using an adjacency matrix? a) O(1) b) O(log n) c) O(n) d) O(n log n) e) O(n2) Ans. e 46. Given a graph G with n nodes and m edges, you want to find all the nodes with degree 5. What would be the complexity using an adjacency list (where the degree of each node is not stored)? a) O(n) b) O(log m) c) O(log n) d) O(m) e) O(n logn ) Ans. d 47. Which of the following statements is incorrect? a) A tree with n nodes has n-1 edges b) Dijkstra does not work if some weights are negative c) BSF finds whether a graph is connected d) All nodes in a graph must have degree at least 1 Ans. d 48.Depth first search of a graph is i.recursive ii.can be parallelized a.only I b.only ii c.i and ii d.neither I nor ii Ans:a Some problems have no parallel algorithms, and are called inherently serial problems. Those problems cannot be solved faster by employing more processors. One such example is depth-first search of a graph, which happens to be recursive, but can not be parallelized
30