SlideShare a Scribd company logo
1 of 31
JaganNath Gupta Institute of Engineering and Technology

                                          Sitapura, Jaipur



                      Department of Computer Engineering & IT
Subject: -Data Structure and Algorithms                           Sub. Code: - 3CS3

Faculty Name: -Shekhar Chander                                     Section: III SEM-CS-B




Data Structure Questions with answers


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,

                                                                                                1
•   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?
                                                                                                    2
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:

    •   Straight merging,
    •   Natural merging,

    •   Polyphase sort,

    •   Distribution of Initial runs.

 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.




    i         ii              iii             iv          v

In general:
If there are n nodes, there exist 2n-n different trees.

 List out few of the Application of tree data-structure?
                                                                                            3
Answer: The list is as follows:

    •   The manipulation of Arithmetic expression,
    •   Symbol Table construction,

    •   Syntax analysis.

 List out few of the applications that make use of Multilinked Structures?

Answer: The applications are listed below:

    •   Sparse matrix,
    •   Index generation.

 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

 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.




                                                                                                  4
Answer:

   •   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

 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?




                                                                                                    5
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     70    75       80       85    60    55    50    45

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

Since pivot is not yet changed the same process is continued after interchanging the values at L
and R positions

                          65     45    75L      80       85    60    55    50R   70

                          65     45    50       80L      85    60    55R    75   70

                          65     45    50       55       85L   60R    80    75   70

                          65     45    50       55       60R   85L    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.

                          60L    45 50          55R      65    85L   80 75       70R

                          55L5    45 50R 60 65 70R                    80L 75 85

                          50L    45R    55 60 65 70                  80L   75R    85


                                                                                                    6
In the next pass we get the sorted form of the array.

                          45   50    55    60   65      70   75   80   85


Data Structure Sample Questions
   22. For the given graph, draw the DFS and BFS?




       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.

       Answer: The list of Hashing functions is as follows:

           •   Direct method
           •   Subtraction method

           •   Modulo-Division method

           •   Digit-Extraction method

           •   Mid-Square method

           •   Folding method

           •   Pseudo-random method

   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:
                                                                                        7
•   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.

29. Convert the given graph with weighted edges to minimal spanning tree.


                                                                                                8
Answer: the equivalent minimal spanning tree is:




 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:




 For the following COBOL code, draw the Binary tree?

01 STUDENT_REC.
02 NAME.

                                                                      9
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)
      ? Network data model – Graph
      ? Hierarchical data model – Trees

                                                                                                   10
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)




                                                                                                  11
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

                                                                                            12
(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:

                                                                                                 13
Full and Complete binary trees are different. All full binary trees are complete 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

                                                                                                    14
50 L 45 R 55 60 65 70 80 L 75 R 85

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…



                                                                                            15
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 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
doesn’t 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.




                                                                                                  16
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 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.




                                                                  17
What is a data structure? What are the types of data structures?

Data structures are used to store data in a computer in an organized fashion. Different types of
data structures are:-

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

What is a data structure? What are the types of data structures?

The scheme of organizing related information is known as ‘data structure’. The types of data
structure are:

Lists: A group of similar items with connectivity to the previous or/and next data items.
Arrays: A set of homogeneous values
Records: A set of fields, where each field consists of data belongs to one data type.
Trees: A data structure where the data is organized in a hierarchical structure. This type of data
structure follows the sorted order of insertion, deletion and modification of data items.
Tables: Data is persisted in the form of rows and columns. These are similar to records, where
the result or manipulation of data is reflected for the whole table.

Define a linear and non linear data structure.

Linear data fashion- Linked list is an example of linear data storage or structure. Linked list
stores data in an organized a linear fashion. They store data in the form of a list.

Non Linear data structure- Tree data structure is an example of a non linear data structure. A tree
has one node called as root node that is the starting point that holds data and links to other nodes.

Data structure - Define a linear and non linear data structure - July 31, 2009, 10:55 am
         by Vidya Sagar

Define a linear and non linear data structure.

Linear data structure: A linear data structure traverses the data elements sequentially, in which
only one data element can directly be reached. Ex: Arrays, Linked Lists

                                                                                                   18
Non-Linear data structure: Every data item is attached to several other data items in a way that
is specific for reflecting relationships. The data items are not arranged in a sequential structure.
Ex: Trees, Graphs

Define in brief an array. What are the types of array operations?

An array is an arrangement of data arranged in a systematic order. An array usually has rows and
columns. Each element of an array is accessed using the row and column id.

Array operations:-

Initializing an array:- Specifies the array size. Example: Arr[10];

Assigning :- This operation assigns a value to an array. Example: arr[1]=5;

There are many other operators that can be used to assign.

Data structure - Define in brief an array. What are the types of array
         operations? - July 31, 2009, 10:55 am by Vidya Sagar

Define in brief an array. What are the types of array operations?

An array is a set of homogeneous elements. Every element is referred by an index.

 Arrays are used for storing the data until the application expires in the main memory of the
computer system. So that, the elements can be accessed at any time. The operations are:

- Adding elements
- Sorting elements
- Searching elements
- Re-arranging the elements
- Performing matrix operations
- Pre-fix and post-fix operations

What is a matrix? Explain its uses with an example

Matrix is a way to store data in an organized form in the form of rows and columns. Matrices are
usually used in computer graphics to project 3-dimensional space onto a 2-dimensional screen.
Matrices in the form of arrays are used to store data in an organized form.

Data structure - What is a matrix? - July 31, 2009, 10:55 am by Vidya Sagar



                                                                                                 19
What is a matrix? Explain its uses with an example

A matrix is a representation of certain rows and columns, to persist homogeneous data. It can
also be called as double-dimensioned array.

Uses:

- To represent class hierarchy using Boolean square matrix
- For data encryption and decryption
- To represent traffic flow and plumbing in a network
- To implement graph theory of node representation

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.


                                                                                                20
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).

What is an iterative algorithm?

An iterative algorithm executes steps in iterations. It aims to find successive approximation in
sequence to reach a solution. They are most commonly used in linear programs where large
numbers of variables are involved.

Data structure - What is an iterative algorithm? - July 31, 2009, 10:55 am by Vidya
         Sagar

What is an iterative algorithm?

The process of attempting for solving a problem which finds successive approximations for
solution, starting from an initial guess. The result of repeated calculations is a sequence of
approximate values for the quantities of interest.

What is an recursive algorithm?

A recursive algorithm calls itself which usually passes the return value as a parameter to the
algorithm again. This parameter is the input while the return value is the output.



                                                                                                   21
Data structure - What is an recursive algorithm? - July 31, 2009, 10:55 am by Vidya
         Sagar

What is an recursive algorithm?

Recursive algorithm is a method of simplification that divides the problem into sub-problems of
the same nature. The result of one recursion is the input for the next recursion. The repletion is in
the self-similar fashion. The algorithm calls itself with smaller input values and obtains the
results by simply performing the operations on these smaller values. Generation of factorial,
Fibonacci number series are the examples of recursive algorithms.

What is the Huffman algorithm?

In Huffman Algorithm, a set of nodes assigned with values if fed to the algorithm.
Initially 2 nodes are considered and their sum forms their parent node. When a new element is
considered, it can be added to the tree. Its value and the previously calculated sum of the tree are
used to form the new node which in turn becomes their parent.

Explain quick sort and merge sort algorithms.

Quick sort – Divides the array elements in two halves or partitions. On dividing, the quick sort
procedure is recursively called to sort the two halves. A “pivot” is used as the center point and
elements less than the pivot are moved to the left or before the pivot and elements greater than
pivot are moved to the right.

Merge sort- Merge sort is based on divide and conquer mechanism. The array elements are
divided into partitions (n/2). Each partition is sorted recursively and then merged.

Data structure - Explain quick sort and merge sort algorithms. - July 31, 2009, 10:55
         am by Vidya Sagar

Explain quick sort and merge sort algorithms.

Quick sort employs the ‘divide and conquer’ concept by dividing the list of elements into two
sub elements

The process is as follows:

1. Select an element, pivot, from the list.
2. Rearrange the elements in the list, so that all elements those are less than the pivot are
arranged before the pivot and all elements those are greater than the pivot are arranged after the
pivot. Now the pivot is in its position.


                                                                                                  22
3. Sort the both sub lists – sub list of the elements which are less than the pivot and the list of
elements which are more than the pivot recursively.

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

What is merge sort algorithm?

Answer
A merge sort algorithm that splits the items to be sorted into two groups, recursively sorts each
group, and merges them into a final, sorted sequence. Run time is T(n log n).

If n<2 then the array is already sorted. Stop now.
Otherwise, n>1, and we perform the following three steps in sequence:
Sort the left half of the the array.
Sort the right half of the the array.
Merge the now-sorted left and right halves.

What is Bubble Sort and Quick sort?

Bubble Sort: - The simplest sorting algorithm. It takes two array elements at a time, compares
them and swaps their positions if element on left is greater than right. Divides the array elements
in two halves or partitions. On dividing, the quick sort procedure is recursively called to sort the
two halves. A “pivot” is used as the center point and elements less than the pivot are moved to
the left or before the pivot and elements greater than pivot are moved to the right.

Data structure - What is Bubble Sort and Quick sort? - July 31, 2009, 10:55 am by
         Vidya Sagar

What is Bubble Sort and Quick sort?

Bubble Sort: The simplest sorting algorithm. It involves the sorting the list in a repetitive
fashion. It compares two adjacent elements in the list, and swaps them if they are not in the

                                                                                                      23
designated order. It continues until there are no swaps needed. This is the signal for the list that is
sorted. It is also called as comparison sort as it uses comparisons.

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.

What is the difference between a stack and a Queue?

Stack is a collection of objects that works in LIFO (Last in First out) mechanism while Queue is
FIFO (First in First out). This means that the object that is inserted first is removed last in a stack
while an object that is inserted first is removed first in a queue.

Data structure - What is the difference between a stack and a Queue? - July 31, 2009,
         10:55 am by Vidya Sagar

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.

Can a stack be described as a pointer? Explain.

Stack can be described as a pointer as it contains a head pointer always pointing to the topmost
element of the stack. The Push and Pop operations are performed using this pointer.

Data structure - Can a stack be described as a pointer? Explain. - July 31, 2009, 10:55
         am by Vidya Sagar

Can a stack be described as a pointer? Explain.

A stack is represented as a pointer. The reason is that, it has a head pointer which points to the
top of the stack. The stack operations are performed using the head pointer. Hence, the stack can
be described as a pointer.


                                                                                                     24
What is the recursion?

Recursion is an approach in which a function calls itself with an argument. Upon reaching a
termination condition, the control returns to the calling function.

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. .

Is it possible to insert different type of elements in a stack? How?

Yes, it is possible to insert different types of elements in a stack. Elements in a stack can be
inserted using the “Push” operation. This operation writes an element on the stack and moving
the pointer.


                                                                                                   25
Data structure - Is it possible to insert different type of elements in a stack?
         How? - July 31, 2009, 10:55 am by Vidya Sagar

Is it possible to insert different type of elements in a stack? How?

Different elements can be inserted into a stack. This is possible by implementing union /
structure data type. It is efficient to use union rather than structure, as only one item’s memory is
used at a time.

Explain in brief a linked list.

A linked list a linear arrangement of data. It allows the programmer to insert data anywhere
within the list. The pointer of the list always points to the first node and can be moved
programmatically to insert, delete or update any data. Each node in the list contains a data value
and the address or a reference to the adjoining node.

How would you sort a linked list?

Different sorting algorithms can be used to sort the linked list. Merge sort is normally used to
sort the linked list.

Data structure - Explain in brief a linked list - July 31, 2009, 10:55 am by Vidya Sagar

Explain in brief a linked list.

A linked list is a dynamic data structure. It consists of a sequence of data elements and a
reference to the next record in the sequence. Stacks, queues, hash tables, linear equations, prefix
and post fix operations. The order of linked items is different that of arrays. The insertion or
deletion operations are constant in number.

Explain the types of linked lists.

The types of linked lists are:
Singly linked list: It has only head part and corresponding references to the next nodes.
Doubly linked list: A linked list which both head and tail parts, thus allowing the traversal in bi-
directional fashion. Except the first node, the head node refers to the previous node.
Circular linked list: A linked list whose last node has reference to the first node.

How would you sort a linked list?

Single linked list- Here, the pointer can only move in one direction.

Double linked list- Here, the pointer can move in forward or backward direction.
                                                                                                   26
Circular linked list- Here, the address of the last node points to the first node of the list so as to
make it a circular linked list.

Data structure - How would you sort a linked list? - July 31, 2009, 10:55 am by Vidya
         Sagar

How would you sort a linked list?

Step 1: Compare the current node in the unsorted list with every element in the rest of the list. If
the current element is more than any other element go to step 2 otherwise go to step 3.

Step 2: Position the element with higher value after the position of the current element. Compare
the next element. Go to step1 if an element exists, else stop the process.

Step 3: If the list is already in sorted order, insert the current node at the end of the list. Compare
the next element, if any and go to step 1 or quit.

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.

What is binary searching and Fibonacci search?

Binary search is used to find an element of a sorted list only. For the element to be searched, the
middle value is first compared. If it is same as the element to be sought, the search stops. Else,
the same mechanism of search is performed on the left or right side elements of the middle
elements depending on whether the sought value is greater than or less than the middle element.


                                                                                                         27
Fibonacci search:- Fibonacci search is used to search an element of a sorted array with the help
of Fibonacci numbers. It studies the locations whose addresses have lower dispersion. Fibonacci
number is subtracted from the index thereby reducing the size of the list.

Data structure - What is binary searching and Fibonacci search? - July 31, 2009, 10:55
         am by Vidya Sagar

What is binary searching and Fibonacci search?

Binary Search: Binary search is the process of locating an element in a sorted list. The search
starts by dividing the list into two parts. The algorithm compares the median value. If the search
element is less than the median value, the top list only will be searched, after finding the middle
element of that list. The process continues until the element is found or the search in the top list
is completed. The same process is continued for the bottom list, until the element is found or the
search in the bottom list is completed. If an element is found that must be the median value.

Fibonacci Search: Fibonacci search is a process of searching a sorted array by utilizing divide
and conquer algorithm. Fibonacci search examines locations whose addresses have lower
dispersion. When the search element has non-uniform access memory storage, the Fibonacci
search algorithm reduces the average time needed for accessing a storage location.

What are Arrays?

Answer
An array is a series of elements. These elements are of the same type. Each
element can be individually accessed using an index. For e.g an array of integers.
Array elements are stored one after another (contiguous) in the memory. An
array can have more than one dimension. First element in an array starts with 0.

Explain two-dimensional array.

Answer
An array with two dimensions is called as a two-dimensional array. It is also
called as a matrix. In C, a two dimensional array is initialized as int
arr[nb_of_rows] [nb_of_columns]. Hence, two dimensional arrays can be
considered as a grid. An element in a two dimensional can be accessed by
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.



                                                                                                  28
Define Array of pointers.

Answer
An array of pointers is an array consisting of pointers. Here, each pointer points
to a row of the matrix or an element. E.g char *array [] = {“a”, “b”}. This is an
array of pointers to to characters.



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 removed in ______ time.
a. O(V)
b. O(1)
c. O(E)

                                                                                                          29
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: 2—3—6
2: 5—1—3
3: 2—1—7—5—6
4: 5—7
5: 2—4—3—6
6: 3—5—1
7: 3—4
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




44. If you perform a Depth First Search in a binary tree, what traversal will you obtain?
a) pre-order

                                                                                                    30
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




                                                                                                   31

More Related Content

What's hot

8. R Graphics with R
8. R Graphics with R8. R Graphics with R
8. R Graphics with RFAO
 
Data Structure: Algorithm and analysis
Data Structure: Algorithm and analysisData Structure: Algorithm and analysis
Data Structure: Algorithm and analysisDr. Rajdeep Chatterjee
 
Graphs in Data Structure
 Graphs in Data Structure Graphs in Data Structure
Graphs in Data Structurehafsa komal
 
Hashing in datastructure
Hashing in datastructureHashing in datastructure
Hashing in datastructurerajshreemuthiah
 
Artificial Intelligence Lab File
Artificial Intelligence Lab FileArtificial Intelligence Lab File
Artificial Intelligence Lab FileKandarp Tiwari
 
Introduction to pandas
Introduction to pandasIntroduction to pandas
Introduction to pandasPiyush rai
 
02 order of growth
02 order of growth02 order of growth
02 order of growthHira Gul
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IMohamed Loey
 
Arrays in Data Structure and Algorithm
Arrays in Data Structure and Algorithm Arrays in Data Structure and Algorithm
Arrays in Data Structure and Algorithm KristinaBorooah
 
Python Programming - Files & Exceptions
Python Programming - Files & ExceptionsPython Programming - Files & Exceptions
Python Programming - Files & ExceptionsOmid AmirGhiasvand
 
Python-List comprehension
Python-List comprehensionPython-List comprehension
Python-List comprehensionColin Su
 
Depth first search [dfs]
Depth first search [dfs]Depth first search [dfs]
Depth first search [dfs]DEEPIKA T
 

What's hot (20)

8. R Graphics with R
8. R Graphics with R8. R Graphics with R
8. R Graphics with R
 
Data Structure: Algorithm and analysis
Data Structure: Algorithm and analysisData Structure: Algorithm and analysis
Data Structure: Algorithm and analysis
 
Graphs in Data Structure
 Graphs in Data Structure Graphs in Data Structure
Graphs in Data Structure
 
Time complexity
Time complexityTime complexity
Time complexity
 
Hashing in datastructure
Hashing in datastructureHashing in datastructure
Hashing in datastructure
 
BFS
BFSBFS
BFS
 
Artificial Intelligence Lab File
Artificial Intelligence Lab FileArtificial Intelligence Lab File
Artificial Intelligence Lab File
 
Introduction to pandas
Introduction to pandasIntroduction to pandas
Introduction to pandas
 
02 order of growth
02 order of growth02 order of growth
02 order of growth
 
Binary search tree(bst)
Binary search tree(bst)Binary search tree(bst)
Binary search tree(bst)
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms I
 
Arrays in Data Structure and Algorithm
Arrays in Data Structure and Algorithm Arrays in Data Structure and Algorithm
Arrays in Data Structure and Algorithm
 
Randomized algorithms ver 1.0
Randomized algorithms ver 1.0Randomized algorithms ver 1.0
Randomized algorithms ver 1.0
 
Python Programming - Files & Exceptions
Python Programming - Files & ExceptionsPython Programming - Files & Exceptions
Python Programming - Files & Exceptions
 
Data structures using C
Data structures using CData structures using C
Data structures using C
 
Classification metrics
Classification metrics Classification metrics
Classification metrics
 
Python-List comprehension
Python-List comprehensionPython-List comprehension
Python-List comprehension
 
Depth first search [dfs]
Depth first search [dfs]Depth first search [dfs]
Depth first search [dfs]
 
Complexity analysis in Algorithms
Complexity analysis in AlgorithmsComplexity analysis in Algorithms
Complexity analysis in Algorithms
 
Graph Theory
Graph TheoryGraph Theory
Graph Theory
 

Similar to Data structure-questions

Cs&it technical interview questions
Cs&it technical interview questionsCs&it technical interview questions
Cs&it technical interview questionsAshu0711
 
for sbi so Ds c c++ unix rdbms sql cn os
for sbi so   Ds c c++ unix rdbms sql cn osfor sbi so   Ds c c++ unix rdbms sql cn os
for sbi so Ds c c++ unix rdbms sql cn osalisha230390
 
Technical aptitude questions
Technical aptitude questionsTechnical aptitude questions
Technical aptitude questionssadiqkhanpathan
 
Data Structures Aptitude
Data Structures AptitudeData Structures Aptitude
Data Structures AptitudeSriram Raj
 
Technical aptitude questions_e_book1
Technical aptitude questions_e_book1Technical aptitude questions_e_book1
Technical aptitude questions_e_book1Sateesh Allu
 
Questions datastructures-in-c-languege
Questions datastructures-in-c-languegeQuestions datastructures-in-c-languege
Questions datastructures-in-c-languegebhargav0077
 
Course module of DS
Course module of DSCourse module of DS
Course module of DSPCTE
 
Ds 111011055724-phpapp01
Ds 111011055724-phpapp01Ds 111011055724-phpapp01
Ds 111011055724-phpapp01Getachew Ganfur
 
"Building Diversified Portfolios that Outperform Out-of-Sample" by Dr. Marcos...
"Building Diversified Portfolios that Outperform Out-of-Sample" by Dr. Marcos..."Building Diversified Portfolios that Outperform Out-of-Sample" by Dr. Marcos...
"Building Diversified Portfolios that Outperform Out-of-Sample" by Dr. Marcos...Quantopian
 
Knowledge Discovery Query Language (KDQL)
Knowledge Discovery Query Language (KDQL)Knowledge Discovery Query Language (KDQL)
Knowledge Discovery Query Language (KDQL)Zakaria Zubi
 
Building graphs to discover information by David Martínez at Big Data Spain 2015
Building graphs to discover information by David Martínez at Big Data Spain 2015Building graphs to discover information by David Martínez at Big Data Spain 2015
Building graphs to discover information by David Martínez at Big Data Spain 2015Big Data Spain
 
Programming in python
Programming in pythonProgramming in python
Programming in pythonIvan Rojas
 
So sánh cấu trúc protein_Protein structure comparison
So sánh cấu trúc protein_Protein structure comparisonSo sánh cấu trúc protein_Protein structure comparison
So sánh cấu trúc protein_Protein structure comparisonbomxuan868
 
Query Decomposition and data localization
Query Decomposition and data localization Query Decomposition and data localization
Query Decomposition and data localization Hafiz faiz
 
ensembles_emptytemplate_v2
ensembles_emptytemplate_v2ensembles_emptytemplate_v2
ensembles_emptytemplate_v2Shrayes Ramesh
 
Reference Scope Identification of Citances Using Convolutional Neural Network
Reference Scope Identification of Citances Using Convolutional Neural NetworkReference Scope Identification of Citances Using Convolutional Neural Network
Reference Scope Identification of Citances Using Convolutional Neural NetworkSaurav Jha
 

Similar to Data structure-questions (20)

Technical questions
Technical questionsTechnical questions
Technical questions
 
Cs&it technical interview questions
Cs&it technical interview questionsCs&it technical interview questions
Cs&it technical interview questions
 
for sbi so Ds c c++ unix rdbms sql cn os
for sbi so   Ds c c++ unix rdbms sql cn osfor sbi so   Ds c c++ unix rdbms sql cn os
for sbi so Ds c c++ unix rdbms sql cn os
 
Data structure-question-bank
Data structure-question-bankData structure-question-bank
Data structure-question-bank
 
Technical aptitude questions
Technical aptitude questionsTechnical aptitude questions
Technical aptitude questions
 
Data Structures Aptitude
Data Structures AptitudeData Structures Aptitude
Data Structures Aptitude
 
Technical aptitude questions_e_book1
Technical aptitude questions_e_book1Technical aptitude questions_e_book1
Technical aptitude questions_e_book1
 
Questions datastructures-in-c-languege
Questions datastructures-in-c-languegeQuestions datastructures-in-c-languege
Questions datastructures-in-c-languege
 
Course module of DS
Course module of DSCourse module of DS
Course module of DS
 
Ds 111011055724-phpapp01
Ds 111011055724-phpapp01Ds 111011055724-phpapp01
Ds 111011055724-phpapp01
 
"Building Diversified Portfolios that Outperform Out-of-Sample" by Dr. Marcos...
"Building Diversified Portfolios that Outperform Out-of-Sample" by Dr. Marcos..."Building Diversified Portfolios that Outperform Out-of-Sample" by Dr. Marcos...
"Building Diversified Portfolios that Outperform Out-of-Sample" by Dr. Marcos...
 
Knowledge Discovery Query Language (KDQL)
Knowledge Discovery Query Language (KDQL)Knowledge Discovery Query Language (KDQL)
Knowledge Discovery Query Language (KDQL)
 
Building graphs to discover information by David Martínez at Big Data Spain 2015
Building graphs to discover information by David Martínez at Big Data Spain 2015Building graphs to discover information by David Martínez at Big Data Spain 2015
Building graphs to discover information by David Martínez at Big Data Spain 2015
 
Data Structures 5
Data Structures 5Data Structures 5
Data Structures 5
 
Programming in python
Programming in pythonProgramming in python
Programming in python
 
So sánh cấu trúc protein_Protein structure comparison
So sánh cấu trúc protein_Protein structure comparisonSo sánh cấu trúc protein_Protein structure comparison
So sánh cấu trúc protein_Protein structure comparison
 
Query Decomposition and data localization
Query Decomposition and data localization Query Decomposition and data localization
Query Decomposition and data localization
 
ensembles_emptytemplate_v2
ensembles_emptytemplate_v2ensembles_emptytemplate_v2
ensembles_emptytemplate_v2
 
Reference Scope Identification of Citances Using Convolutional Neural Network
Reference Scope Identification of Citances Using Convolutional Neural NetworkReference Scope Identification of Citances Using Convolutional Neural Network
Reference Scope Identification of Citances Using Convolutional Neural Network
 
Q
QQ
Q
 

Recently uploaded

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 

Recently uploaded (20)

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 

Data structure-questions

  • 1. JaganNath Gupta Institute of Engineering and Technology Sitapura, Jaipur Department of Computer Engineering & IT Subject: -Data Structure and Algorithms Sub. Code: - 3CS3 Faculty Name: -Shekhar Chander Section: III SEM-CS-B Data Structure Questions with answers 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, 1
  • 2. 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? 2
  • 3. 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: • Straight merging, • Natural merging, • Polyphase sort, • Distribution of Initial runs.  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. i ii iii iv v In general: If there are n nodes, there exist 2n-n different trees.  List out few of the Application of tree data-structure? 3
  • 4. Answer: The list is as follows: • The manipulation of Arithmetic expression, • Symbol Table construction, • Syntax analysis.  List out few of the applications that make use of Multilinked Structures? Answer: The applications are listed below: • Sparse matrix, • Index generation.  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  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. 4
  • 5. Answer: • 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  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? 5
  • 6. 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 70 75 80 85 60 55 50 45 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 Since pivot is not yet changed the same process is continued after interchanging the values at L and R positions 65 45 75L 80 85 60 55 50R 70 65 45 50 80L 85 60 55R 75 70 65 45 50 55 85L 60R 80 75 70 65 45 50 55 60R 85L 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. 60L 45 50 55R 65 85L 80 75 70R 55L5 45 50R 60 65 70R 80L 75 85 50L 45R 55 60 65 70 80L 75R 85 6
  • 7. In the next pass we get the sorted form of the array. 45 50 55 60 65 70 75 80 85 Data Structure Sample Questions 22. For the given graph, draw the DFS and BFS? 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. Answer: The list of Hashing functions is as follows: • Direct method • Subtraction method • Modulo-Division method • Digit-Extraction method • Mid-Square method • Folding method • Pseudo-random method 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: 7
  • 8. 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. 29. Convert the given graph with weighted edges to minimal spanning tree. 8
  • 9. Answer: the equivalent minimal spanning tree is:  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:  For the following COBOL code, draw the Binary tree? 01 STUDENT_REC. 02 NAME. 9
  • 10. 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) ? Network data model – Graph ? Hierarchical data model – Trees 10
  • 11. 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) 11
  • 12. 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 12
  • 13. (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: 13
  • 14. Full and Complete binary trees are different. All full binary trees are complete 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 14
  • 15. 50 L 45 R 55 60 65 70 80 L 75 R 85 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… 15
  • 16. 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 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 doesn’t 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. 16
  • 17. 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 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. 17
  • 18. What is a data structure? What are the types of data structures? Data structures are used to store data in a computer in an organized fashion. Different types of data structures are:- 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 What is a data structure? What are the types of data structures? The scheme of organizing related information is known as ‘data structure’. The types of data structure are: Lists: A group of similar items with connectivity to the previous or/and next data items. Arrays: A set of homogeneous values Records: A set of fields, where each field consists of data belongs to one data type. Trees: A data structure where the data is organized in a hierarchical structure. This type of data structure follows the sorted order of insertion, deletion and modification of data items. Tables: Data is persisted in the form of rows and columns. These are similar to records, where the result or manipulation of data is reflected for the whole table. Define a linear and non linear data structure. Linear data fashion- Linked list is an example of linear data storage or structure. Linked list stores data in an organized a linear fashion. They store data in the form of a list. Non Linear data structure- Tree data structure is an example of a non linear data structure. A tree has one node called as root node that is the starting point that holds data and links to other nodes. Data structure - Define a linear and non linear data structure - July 31, 2009, 10:55 am by Vidya Sagar Define a linear and non linear data structure. Linear data structure: A linear data structure traverses the data elements sequentially, in which only one data element can directly be reached. Ex: Arrays, Linked Lists 18
  • 19. Non-Linear data structure: Every data item is attached to several other data items in a way that is specific for reflecting relationships. The data items are not arranged in a sequential structure. Ex: Trees, Graphs Define in brief an array. What are the types of array operations? An array is an arrangement of data arranged in a systematic order. An array usually has rows and columns. Each element of an array is accessed using the row and column id. Array operations:- Initializing an array:- Specifies the array size. Example: Arr[10]; Assigning :- This operation assigns a value to an array. Example: arr[1]=5; There are many other operators that can be used to assign. Data structure - Define in brief an array. What are the types of array operations? - July 31, 2009, 10:55 am by Vidya Sagar Define in brief an array. What are the types of array operations? An array is a set of homogeneous elements. Every element is referred by an index. Arrays are used for storing the data until the application expires in the main memory of the computer system. So that, the elements can be accessed at any time. The operations are: - Adding elements - Sorting elements - Searching elements - Re-arranging the elements - Performing matrix operations - Pre-fix and post-fix operations What is a matrix? Explain its uses with an example Matrix is a way to store data in an organized form in the form of rows and columns. Matrices are usually used in computer graphics to project 3-dimensional space onto a 2-dimensional screen. Matrices in the form of arrays are used to store data in an organized form. Data structure - What is a matrix? - July 31, 2009, 10:55 am by Vidya Sagar 19
  • 20. What is a matrix? Explain its uses with an example A matrix is a representation of certain rows and columns, to persist homogeneous data. It can also be called as double-dimensioned array. Uses: - To represent class hierarchy using Boolean square matrix - For data encryption and decryption - To represent traffic flow and plumbing in a network - To implement graph theory of node representation 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. 20
  • 21. 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). What is an iterative algorithm? An iterative algorithm executes steps in iterations. It aims to find successive approximation in sequence to reach a solution. They are most commonly used in linear programs where large numbers of variables are involved. Data structure - What is an iterative algorithm? - July 31, 2009, 10:55 am by Vidya Sagar What is an iterative algorithm? The process of attempting for solving a problem which finds successive approximations for solution, starting from an initial guess. The result of repeated calculations is a sequence of approximate values for the quantities of interest. What is an recursive algorithm? A recursive algorithm calls itself which usually passes the return value as a parameter to the algorithm again. This parameter is the input while the return value is the output. 21
  • 22. Data structure - What is an recursive algorithm? - July 31, 2009, 10:55 am by Vidya Sagar What is an recursive algorithm? Recursive algorithm is a method of simplification that divides the problem into sub-problems of the same nature. The result of one recursion is the input for the next recursion. The repletion is in the self-similar fashion. The algorithm calls itself with smaller input values and obtains the results by simply performing the operations on these smaller values. Generation of factorial, Fibonacci number series are the examples of recursive algorithms. What is the Huffman algorithm? In Huffman Algorithm, a set of nodes assigned with values if fed to the algorithm. Initially 2 nodes are considered and their sum forms their parent node. When a new element is considered, it can be added to the tree. Its value and the previously calculated sum of the tree are used to form the new node which in turn becomes their parent. Explain quick sort and merge sort algorithms. Quick sort – Divides the array elements in two halves or partitions. On dividing, the quick sort procedure is recursively called to sort the two halves. A “pivot” is used as the center point and elements less than the pivot are moved to the left or before the pivot and elements greater than pivot are moved to the right. Merge sort- Merge sort is based on divide and conquer mechanism. The array elements are divided into partitions (n/2). Each partition is sorted recursively and then merged. Data structure - Explain quick sort and merge sort algorithms. - July 31, 2009, 10:55 am by Vidya Sagar Explain quick sort and merge sort algorithms. Quick sort employs the ‘divide and conquer’ concept by dividing the list of elements into two sub elements The process is as follows: 1. Select an element, pivot, from the list. 2. Rearrange the elements in the list, so that all elements those are less than the pivot are arranged before the pivot and all elements those are greater than the pivot are arranged after the pivot. Now the pivot is in its position. 22
  • 23. 3. Sort the both sub lists – sub list of the elements which are less than the pivot and the list of elements which are more than the pivot recursively. 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 What is merge sort algorithm? Answer A merge sort algorithm that splits the items to be sorted into two groups, recursively sorts each group, and merges them into a final, sorted sequence. Run time is T(n log n). If n<2 then the array is already sorted. Stop now. Otherwise, n>1, and we perform the following three steps in sequence: Sort the left half of the the array. Sort the right half of the the array. Merge the now-sorted left and right halves. What is Bubble Sort and Quick sort? Bubble Sort: - The simplest sorting algorithm. It takes two array elements at a time, compares them and swaps their positions if element on left is greater than right. Divides the array elements in two halves or partitions. On dividing, the quick sort procedure is recursively called to sort the two halves. A “pivot” is used as the center point and elements less than the pivot are moved to the left or before the pivot and elements greater than pivot are moved to the right. Data structure - What is Bubble Sort and Quick sort? - July 31, 2009, 10:55 am by Vidya Sagar What is Bubble Sort and Quick sort? Bubble Sort: The simplest sorting algorithm. It involves the sorting the list in a repetitive fashion. It compares two adjacent elements in the list, and swaps them if they are not in the 23
  • 24. designated order. It continues until there are no swaps needed. This is the signal for the list that is sorted. It is also called as comparison sort as it uses comparisons. 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. What is the difference between a stack and a Queue? Stack is a collection of objects that works in LIFO (Last in First out) mechanism while Queue is FIFO (First in First out). This means that the object that is inserted first is removed last in a stack while an object that is inserted first is removed first in a queue. Data structure - What is the difference between a stack and a Queue? - July 31, 2009, 10:55 am by Vidya Sagar 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. Can a stack be described as a pointer? Explain. Stack can be described as a pointer as it contains a head pointer always pointing to the topmost element of the stack. The Push and Pop operations are performed using this pointer. Data structure - Can a stack be described as a pointer? Explain. - July 31, 2009, 10:55 am by Vidya Sagar Can a stack be described as a pointer? Explain. A stack is represented as a pointer. The reason is that, it has a head pointer which points to the top of the stack. The stack operations are performed using the head pointer. Hence, the stack can be described as a pointer. 24
  • 25. What is the recursion? Recursion is an approach in which a function calls itself with an argument. Upon reaching a termination condition, the control returns to the calling function. 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. . Is it possible to insert different type of elements in a stack? How? Yes, it is possible to insert different types of elements in a stack. Elements in a stack can be inserted using the “Push” operation. This operation writes an element on the stack and moving the pointer. 25
  • 26. Data structure - Is it possible to insert different type of elements in a stack? How? - July 31, 2009, 10:55 am by Vidya Sagar Is it possible to insert different type of elements in a stack? How? Different elements can be inserted into a stack. This is possible by implementing union / structure data type. It is efficient to use union rather than structure, as only one item’s memory is used at a time. Explain in brief a linked list. A linked list a linear arrangement of data. It allows the programmer to insert data anywhere within the list. The pointer of the list always points to the first node and can be moved programmatically to insert, delete or update any data. Each node in the list contains a data value and the address or a reference to the adjoining node. How would you sort a linked list? Different sorting algorithms can be used to sort the linked list. Merge sort is normally used to sort the linked list. Data structure - Explain in brief a linked list - July 31, 2009, 10:55 am by Vidya Sagar Explain in brief a linked list. A linked list is a dynamic data structure. It consists of a sequence of data elements and a reference to the next record in the sequence. Stacks, queues, hash tables, linear equations, prefix and post fix operations. The order of linked items is different that of arrays. The insertion or deletion operations are constant in number. Explain the types of linked lists. The types of linked lists are: Singly linked list: It has only head part and corresponding references to the next nodes. Doubly linked list: A linked list which both head and tail parts, thus allowing the traversal in bi- directional fashion. Except the first node, the head node refers to the previous node. Circular linked list: A linked list whose last node has reference to the first node. How would you sort a linked list? Single linked list- Here, the pointer can only move in one direction. Double linked list- Here, the pointer can move in forward or backward direction. 26
  • 27. Circular linked list- Here, the address of the last node points to the first node of the list so as to make it a circular linked list. Data structure - How would you sort a linked list? - July 31, 2009, 10:55 am by Vidya Sagar How would you sort a linked list? Step 1: Compare the current node in the unsorted list with every element in the rest of the list. If the current element is more than any other element go to step 2 otherwise go to step 3. Step 2: Position the element with higher value after the position of the current element. Compare the next element. Go to step1 if an element exists, else stop the process. Step 3: If the list is already in sorted order, insert the current node at the end of the list. Compare the next element, if any and go to step 1 or quit. 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. What is binary searching and Fibonacci search? Binary search is used to find an element of a sorted list only. For the element to be searched, the middle value is first compared. If it is same as the element to be sought, the search stops. Else, the same mechanism of search is performed on the left or right side elements of the middle elements depending on whether the sought value is greater than or less than the middle element. 27
  • 28. Fibonacci search:- Fibonacci search is used to search an element of a sorted array with the help of Fibonacci numbers. It studies the locations whose addresses have lower dispersion. Fibonacci number is subtracted from the index thereby reducing the size of the list. Data structure - What is binary searching and Fibonacci search? - July 31, 2009, 10:55 am by Vidya Sagar What is binary searching and Fibonacci search? Binary Search: Binary search is the process of locating an element in a sorted list. The search starts by dividing the list into two parts. The algorithm compares the median value. If the search element is less than the median value, the top list only will be searched, after finding the middle element of that list. The process continues until the element is found or the search in the top list is completed. The same process is continued for the bottom list, until the element is found or the search in the bottom list is completed. If an element is found that must be the median value. Fibonacci Search: Fibonacci search is a process of searching a sorted array by utilizing divide and conquer algorithm. Fibonacci search examines locations whose addresses have lower dispersion. When the search element has non-uniform access memory storage, the Fibonacci search algorithm reduces the average time needed for accessing a storage location. What are Arrays? Answer An array is a series of elements. These elements are of the same type. Each element can be individually accessed using an index. For e.g an array of integers. Array elements are stored one after another (contiguous) in the memory. An array can have more than one dimension. First element in an array starts with 0. Explain two-dimensional array. Answer An array with two dimensions is called as a two-dimensional array. It is also called as a matrix. In C, a two dimensional array is initialized as int arr[nb_of_rows] [nb_of_columns]. Hence, two dimensional arrays can be considered as a grid. An element in a two dimensional can be accessed by 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. 28
  • 29. Define Array of pointers. Answer An array of pointers is an array consisting of pointers. Here, each pointer points to a row of the matrix or an element. E.g char *array [] = {“a”, “b”}. This is an array of pointers to to characters. 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 removed in ______ time. a. O(V) b. O(1) c. O(E) 29
  • 30. 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: 2—3—6 2: 5—1—3 3: 2—1—7—5—6 4: 5—7 5: 2—4—3—6 6: 3—5—1 7: 3—4 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 44. If you perform a Depth First Search in a binary tree, what traversal will you obtain? a) pre-order 30
  • 31. 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 31