100% found this document useful (1 vote)
699 views

Fundamentals of Data Structures - MCQ - III.

A data structure is a particular way of organizing data in a computer so that it can be used effectively.

Uploaded by

Jeya Perumal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
699 views

Fundamentals of Data Structures - MCQ - III.

A data structure is a particular way of organizing data in a computer so that it can be used effectively.

Uploaded by

Jeya Perumal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

SUBJECT NAME: FUNDAMENTALS OF DATA STRUCTURES

MULTIPLE CHOICQUESTIONS (MCQ)


LINEAR DATA STRUCTURES – LIST

1. Which of these best describes an array?


a) A data structure that shows a hierarchical behaviour

b) Container of objects of similar types

c) Arrays are immutable once initialised

d) Array is not a data structure

Answer: b

2. How do you initialize an array in C?

a) int arr[3] = (1,2,3);

b) int arr(3) = {1,2,3};

c) int arr[3] = {1,2,3};

d) int arr(3) = (1,2,3);

Answer: c

3. How do you instantiate an array in Java?

a) int arr[] = new int(3);

b) int arr[];

c) int arr[] = new int[3];

d) int arr() = new int(3);

Answer: c

4. Which of the following is a correct way to declare a multidimensional array in Java?

a) int[] arr;

b) int arr[[]];

c) int[][]arr;
d) int[[]] arr;

Answer: c

5. a) 3 and 5

b) 5 and 3

c) 2 and 4
d) 4 and 2

Answer: a

6. a) 4

b) 5

c) ArrayIndexOutOfBoundsException

d) InavlidInputException

Answer: c

7. When does the ArrayIndexOutOfBoundsException occur?

a) Compile-time

b) Run-time

c) Not an error

d) Not an exception at all

Answer: b

8. Which of the following concepts make extensive use of arrays?

a) Binary trees

b) Scheduling of processes

c) Caching

d) Spatial locality

Answer: d

9. What are the advantages of arrays?

a) Objects of mixed data types can be stored


b) Elements in an array cannot be sorted

c) Index of first element of an array is 1

d) Easier to store elements of same data type

Answer: d

10. What are the disadvantages of arrays?

a) Data structure like queue or stack cannot be implemented

b) There are chances of wastage of memory space if elements inserted in an array are lesser than the
allocated size
c) Index value of an array can be negative

d) Elements are sequentially accessed

Answer: b

11. Assuming int is of 4bytes, what is the size of int arr[15];?

a) 15

b) 19

c) 11

d) 60

Answer: d

12. In general, the index of the first element in an array is

a) 0

b) -1

c) 2

d) 1

Answer: a

13. Elements in an array are accessed

a) randomly

b) sequentially

c) exponentially
d) logarithmically

Answer: a

14. Which of the following is not a disadvantage to the usage of array?

a) Fixed size

b) There are chances of wastage of memory space if elements inserted in an array are lesser than the
allocated size

c) Insertion based on position

d) Accessing elements at specified positions

Answer: d

15. What is the time complexity of inserting at the end in dynamic arrays?
a) O(1)

b) O(n)

c) O(logn)

d) Either O(1) or O(n)

Answer: d

16. What is the time complexity to count the number of elements in the linked list?

a) O(1)

b) O(n)

c) O(logn)

d) O(n2)

Answer: b

17. a) Inserting a node at the beginning of the list

b) Deleting a node at the beginning of the list

c) Inserting a node at the end of the list

d) Deleting a node at the end of the list

Answer: c
18. What is the space complexity for deleting a linked list?

a) O(1)

b) O(n)

c) Either O(1) or O(n)

d) O(logn)

Answer: a

19. Which of these is not an application of linked list?

a) To implement file systems

b) For separate chaining in hash-tables

c) To implement non-binary trees

d) Random Access of elements

Answer: d
20. a) Find and delete a given element in the list

b) Find and return the given element in the list

c) Find and return the position of the given element in the list

d) Find and insert a new element in the list

Answer: c

21. Which of the following is false about a doubly linked list?

a) We can navigate in both the directions

b) It requires more space than a singly linked list

c) The insertion and deletion of a node take a bit longer

d) Implementing a doubly linked list is easier than singly linked list

Answer: d

22. What is the worst case time complexity of inserting a node in a doubly linked list?

a) O(nlogn)

b) O(logn)

c) O(n)
d) O(1)

Answer: c

23. a) head-0-1-2-3-4-5-6-tail

b) head-1-2-3-4-5-6-tail

c) head-6-1-2-3-4-5-0-tail

d) head-0-1-2-3-4-5-tail

Answer: c

24. a) Return the element at the tail of the list but do not remove it

b) Return the element at the tail of the list and remove it from the list

c) Return the last but one element from the list but do not remove it

d) Return the last but one element at the tail of the list and remove it from the list

Answer: b
25. a) head-6-1-2-3-4-5-tail

b) head-6-1-2-3-4-tail

c) head-1-2-3-4-5-6-tail

d) head-1-2-3-4-5-tail

Answer: b

26. What differentiates a circular linked list from a normal linked list?

a) You cannot have the ‘next’ pointer point to null in a circular linked list

b) It is faster to traverse the circular linked list

c) You may or may not have the ‘next’ pointer point to null in a circular linked list

d) Head node is known in circular linked list

Answer: c

27. a) Print success if a particular element is not found

b) Print fail if a particular element is not found

c) Print success if a particular element is equal to 1


d) Print fail if the list is empty

Answer: b

28. What is the time complexity of searching for an element in a circular linked list?

a) O(n)

b) O(nlogn)

c) O(1)

d) O(n2)

Answer: a

29. Which of the following application makes use of a circular linked list?

a) Undo operation in a text editor

b) Recursive function calls

c) Allocating CPU to resources

d) Implement Hash Tables

Answer: c

30. a) Return data from the end of the list


b) Returns the data and deletes the node at the end of the list

c) Returns the data from the beginning of the list

d) Returns the data and deletes the node from the beginning of the list

Answer: d

31. a) Return data from the end of the list

b) Returns the data and deletes the node at the end of the list

c) Returns the data from the beginning of the list

d) Returns the data and deletes the node from the beginning of the list

Answer: b

32. Which of the following is false about a circular linked list?

a) Every node has a successor


b) Time complexity of inserting a new node at the head of the list is O(1)

c) Time complexity for deleting the last node is O(n)

d) We can traverse the whole circular linked list by starting from any point

Answer: b

33. Consider a small circular linked list. How to detect the presence of cycles in this list effectively?

a) Keep one node as head and traverse another temp node till the end to check if its ‘next points to head

b) Have fast and slow pointers with the fast pointer advancing two nodes at a time and slow pointer
advancing by one node at a time

c) Cannot determine, you have to pre-define if the list contains cycles

d) Circular linked list itself represents a cycle. So no new cycles cannot be generated

Answer: b

34. A linear collection of data elements where the linear node is given by means of pointer is called?

a) Linked list

b) Node list

c) Primitive list

d) Unordered list

Answer: a

35. Consider an implementation of unsorted singly linked list. Suppose it has its representation with a
head pointer only.
Given the representation, which of the following operation can be implemented in O(1) time?

i) Insertion at the front of the linked list

ii) Insertion at the end of the linked list

iii) Deletion of the front node of the linked list

Answer: b

36. In linked list each node contain minimum of two fields. One field is data field to store the data
second field is?

a) Pointer to character

b) Pointer to integer
c) Pointer to node

d) Node

Answer: c

37. What would be the asymptotic time complexity to add a node at the end of singly linked list, if the
pointer is initially pointing to the head of the list?

a) O(1)

b) O(n)

c) θ(n)

d) θ(1)

Answer: c

38. What would be the asymptotic time complexity to insert an element at the front of the linked list
(head is known)?

a) O(1)

b) O(n)

c) O(n2)

d) O(n3)

Answer: a

39. What would be the asymptotic time complexity to find an element in the linked list?

a) O(1)

b) O(n)

c) O(n2)
d) O(n4)
Answer: b

40. What would be the asymptotic time complexity to insert an element at the second position in the
linked list?

a) O(1)

b) O(n)

c) O(n2)
d) O(n3)

Answer: a

41. The concatenation of two list can performed in O(1) time. Which of the following variation of
linked list can be used?

a) Singly linked list

b) Doubly linked list

c) Circular doubly linked list

d) Array implementation of list

Answer: c

42. Which of the following c code is used to create new node?

a) ptr = (NODE*)malloc(sizeof(NODE));

b) ptr = (NODE*)malloc(NODE);

c) ptr = (NODE*)malloc(sizeof(NODE*));

d) ptr = (NODE)malloc(sizeof(NODE));

Answer: a
LINEAR DATA STRUCTURES – STACKS, QUEUES
1. Process of inserting an element in stack is called

a) Create

b) Push

c) Evaluation

d) Pop

Answer: b

2. Process of removing an element from stack is called

a) Create

b) Push

c) Evaluation

d) Pop

Answer: d

3. In a stack, if a user tries to remove an element from empty stack it is called

a) Underflow

b) Empty collection

c) Overflow

d) Garbage Collection

Answer: a

4. Pushing an element into stack already having five elements and stack size of 5, then stack becomes

a) Overflow

b) Crash

c) Underflow
d) User flow

Answer: a

5. Entries in a stack are “ordered”. What is the meaning of this statement?

a) A collection of stacks is sortable


b) Stack entries may be compared with the ‘<‘ operation

c) The entries are stored in a linked list

d) There is a Sequential entry that is one by one

Answer: d

6. Which of the following is not the application of stack?

a) A parentheses balancing program

b) Tracking of local variables at run time

c) Compiler Syntax Analyzer

d) Data Transfer between two asynchronous process

Answer: d

7. Consider the usual algorithm for determining whether a sequence of parentheses is balanced.

The maximum number of parentheses that appear on the stack AT ANY ONE TIME when the algorithm
analyzes: (()(())(())) are:

a) 1

b) 2

c) 3

Answer: c

8. Consider the usual algorithm for determining whether a sequence of parentheses is balanced.

Suppose that you run the algorithm on a sequence that contains 2 left parentheses and 3 right parentheses (in
some order).

The maximum number of parentheses that appear on the stack AT ANY ONE TIME during the computation?

a) 1

b) 2

Answer: b

9. What is the value of the postfix expression 6 3 2 4 + – *?

a) 1

b) 40

c) 74

d) -18

Answer: d
10. Here is an infix expression: 4 + 3*(6*3-12). Suppose that we are using the usual stack algorithm to
convert the expression from infix to postfix notation.

The maximum number of symbols that will appear on the stack AT ONE TIME during the conversion of this
expression?

a) 1

b) 2

c) 3

Answer: d

11. The postfix form of the expression (A+ B)*(C*D- E)*F / G is?

a) AB+ CD*E – FG /**

b) AB + CD* E – F **G /

c) AB + CD* E – *F *G /

d) AB + CDE * – * F *G /

Answer: c

12. The data structure required to check whether an expression contains balanced parenthesis is?

a) Stack

b) Queue

c) Array

d) Tree

Answer: a
13. What data structure would you mostly likely see in a non recursive implementation of a recursive
algorithm?

a) Linked List

b) Stack

c) Queue

d) Tree

Answer: b

14. The process of accessing data stored in a serial access memory is similar to manipulating data on a

a) Heap

b) Binary Tree
c) Array

d) Stack

Answer: d

15. The postfix form of A*B+C/D is?

a) *AB/CD+

b) AB*CD/+

c) A*BC+/D

d) ABCD+/*

Answer: b

16. Which data structure is needed to convert infix notation to postfix notation?

a) Branch

b) Tree

c) Queue

d) Stack

Answer: d

17. The prefix form of A-B/ (C * D ^ E) is?

a) -/*^ACBDE
b) -ABCD*^DE

c) -A/B*C^DE

d) -A/BC*^DE

Answer: c

18. What is the result of the following operation?

Top (Push (S, X))

a) X

b) X+S

c) S

Answer: a

19. The prefix form of an infix expression (p + q) – (r * t) is?

a) + pq – *rt
b) – +pqr * t

c) – +pq * rt

d) – + * pqrt

Answer: c

20. Which data structure is used for implementing recursion?

a) Queue

b) Stack

c) Array

d) List

Answer: b

21. When an operand is read, which of the following is done?

a) It is placed on to the output

b) It is placed in operator stack

c) It is ignored

d) Operator stack is emptied


Answer: a

22. What should be done when a left parenthesis ‘(‘ is encountered?

a) It is ignored

b) It is placed in the output

c) It is placed in the operator stack

d) The contents of the operator stack is emptied

Answer: c

23. Which of the following is an infix expression?

a) (a+b)*(c+d)

b) ab+c*

c) +ab

d) abc+*

Answer: a
24. What is the time complexity of an infix to postfix conversion algorithm?

a) O(N log N)

b) O(N)

c) O(N2)

d) O(M log N)

Answer: b

25. a) abc*+de*+

b) abc+*de*+

c) a+bc*de+*

d) abc*+(de)*+

Answer: a

26. a) -ab-c

b) ab – c –
c) – -abc

d) -ab-c

Answer: b

27. a) abc^/d-

b) ab/cd^-

c) ab/^cd-

d) abcd^/-

Answer: a

28. Which of the following statement is incorrect with respect to infix to postfix conversion algorithm?

a) operand is always placed in the output

b) operator is placed in the stack when the stack operator has lower precedence

c) parenthesis are included in the output

d) higher and equal priority operators follow the same condition

Answer: c

29. In infix to postfix conversion algorithm, the operators are associated from?

a) right to left
b) left to right

c) centre to left

d) centre to right

Answer: b

30. a) ab*+cd/

b) ab+*cd/

c) abc*+/d

d) abc+*d/

Answer: d

31. a) ab*cdef/^*g-h+
b) abcdef^/*g*h*+

c) abcd*^ed/g*-h*+

d) abc*de^fg/*-*h+

Answer: b

32. a) abc^de-fg+*^*+i-

b) abcde^-fg*+*^h*+i-

c) abcd^e-fgh*+^*+i-

d) ab^-dc*+ef^gh*+i-

Answer: c

33. From the given Expression tree, identify the correct postfix expression from the list of options.

a) ab*cd*+

b) ab*cd-+

c) abcd-*+

Answer: b

34. A linear list of elements in which deletion can be done from one end (front) and insertion can take
place only at the other end (rear) is known as a ?

a) Queue

b) Stack

c) Tree
d) Linked list

Answer: a

35. The data structure required for Breadth First Traversal on a graph is?

a) Stack

b) Array

c) Queue

d) Tree

Answer: c

36. A queue follows

a) FIFO (First In First Out) principle

b) LIFO (Last In First Out) principle

c) Ordered array

d) Linear tree

Answer: a

37. Circular Queue is also known as

a) Ring Buffer

b) Square Buffer

c) Rectangle Buffer

d) Curve Buffer

Answer: a

38. If the elements “A”, “B”, “C” and “D” are placed in a queue and are deleted one at a time, in what
order will they be removed?

a) ABCD

b) DCBA

c) DCAB

d) ABDC

Answer: a

39. A data structure in which elements can be inserted or deleted at/from both the ends but not in the
middle is?
a) Queue

b) Circular queue

c) Dequeue

d) Priority queue

Answer: c

40. A normal queue, if implemented using an array of size MAX_SIZE, gets full when
a) Rear = MAX_SIZE – 1

b) Front = (rear + 1)mod MAX_SIZE

c) Front = rear + 1

d) Rear = front

Answer: a

41. Queues serve major role in

a) Simulation of recursion

b) Simulation of arbitrary linked list

c) Simulation of limited resource allocation

d) Simulation of heap sort

Answer: c

42. Which of the following is not the type of queue?

a) Ordinary queue

b) Single ended queue

c) Circular queue

d) Priority queue

Answer: b

43. With what data structure can a priority queue be implemented?

a) Array

b) List

c) Heap

d) Tree

Answer: d
44. Which of the following is not an application of priority queue?

a) Huffman codes

b) Interrupt handling in operating system

c) Undo operation in text editors


d) Bayesian spam filter

Answer: c

45. What is the time complexity to insert a node based on key in a priority queue?

a) O(nlogn)

b) O(logn)

c) O(n)

d) O(n2)

Answer: c

46. a) Delete the second element in the list

b) Return but not delete the second element in the list

c) Delete the first element in the list

d) Return but not delete the first element in the list

Answer: c

47. What is not a disadvantage of priority scheduling in operating systems?

a) A low priority process might have to wait indefinitely for the CPU

b) If the system crashes, the low priority systems may be lost permanently

c) Interrupt handling

d) Indefinite blocking

Answer: c

48. Which of the following is not an advantage of priority queue?

a) Easy to implement

b) Processes with different priority can be efficiently handled

c) Applications with differing requirements

d) Easy to delete elements in any case

Answer: d
49. What is the time complexity to insert a node based on position in a priority queue?
a) O(nlogn)

b) O(logn)

c) O(n)

d) O(n2)

Answer: c

50. What is a dequeue?

a) A queue with insert/delete defined for both front and rear ends of the queue

b) A queue implemented with a doubly linked list

c) A queue implemented with both singly and doubly linked lists

d) A queue with insert/delete defined for front side of the queue

Answer: a

51. a) Insert at the front end of the dequeue

b) Insert at the rear end of the dequeue

c) Fetch the element at the rear end of the dequeue

d) Fetch the element at the front end of the dequeue

Answer: b

52. What are the applications of dequeue?

a) A-Steal job scheduling algorithm

b) Can be used as both stack and queue

c) To find the maximum of all sub arrays of size k

d) To avoid collision in hash tables

Answer: d

53. a) 10 30 10 15

b) 20 30 40 15

c) 20 30 40 10

d) 10 30 40 15

Answer: d
54. Which of the following properties is associated with a queue?

a) First In Last Out

b) First In First Out

c) Last In First Out

d) Last In Last Out

Answer: b

55. In a circular queue, how do you increment the rear end of the queue?

a) rear++

b) (rear+1) % CAPACITY

c) (rear % CAPACITY)+1

d) rear–

Answer: b

56. What is the term for inserting into a full queue known as?

a) overflow

b) underflow

c) null pointer exception

d) program won’t be compiled

Answer: a

57. What is the time complexity of enqueue operation?

a) O(logn)

b) O(nlogn)

c) O(n)

d) O(1)

Answer: d

58. a) Dequeue

b) Enqueue
c) Return the front element

d) Return the last element

Answer: c
59. What is the need for a circular queue?

a) effective usage of memory

b) easier computations

c) to delete elements based on priority

d) implement LIFO principle in queues

Answer: a

60. What is the space complexity of a linear queue having n elements?

a) O(n)

b) O(nlogn)

c) O(logn)

d) O(1)

Answer: a

61. a) 3 3

b) 3 6

c) 6 6

d) 10 6

Answer: a

You might also like