Data Structures & Algorithms Multiple Choice Questions on “Rope”.
1. Which of the following is also known as Rope data structure?
a) Cord
b) String
c) Array
d) Linked List
Answer: a
Clarification: Array is a linear data structure. Strings are a collection and sequence of codes, alphabets or characters. Linked List is a linear data structure having a node containing data input and the address of the next node. The cord is also known as the rope data structure.
2. Which type of data structure does rope represent?
a) Array
b) Linked List
c) Queue
d) Binary Tree
Answer: d
Clarification: Rope is a special binary tree in which the end nodes contain the string and its length. The array is a linear data structure. Linked List is a linear data structure having a node containing data input and the address of the next node. The queue is a data structure working on the principle of FIFO.
3. What is the time complexity for finding the node at x position where n is the length of the rope?
a) O (log n)
b) O (n!)
c) O (n2)
d) O (1)
Answer: a
Clarification: In order to find the node at x position in a rope data structure where N is the length of the rope, we start a recursive search from the root node. So the time complexity for worst case is found to be O (log N).
4. What is the time complexity for creating a new node and then performing concatenation in the rope data structure?
a) O (log n)
b) O (n!)
c) O (n2)
d) O (1)
Answer: d
Clarification: In order to perform the concatenation on the rope data structure, one can create two nodes S1 and S2 and then performing the operation in constant time that is the time complexity is O (1).
5. What is the time complexity for splitting the string into two new string in the rope data structure?
a) O (n2)
b) O (n!)
c) O (log n)
d) O (1)
Answer: c
Clarification: In order to perform the splitting on the rope data structure, one can split the given string into two new string S1 and S2 in O (log n) time. So, the time complexity for worst case is O (log n).
6. Which type of binary tree does rope require to perform basic operations?
a) Unbalanced
b) Balanced
c) Complete
d) Full
Answer: b
Clarification: To perform the basic operations on a rope data structure like insertion, deletion, concatenation and splitting, the rope should be a balanced tree. After performing the operations one should again re-balance the tree.
7. What is the time complexity for inserting the string and forming a new string in the rope data structure?
a) O (log n)
b) O (n!)
c) O (n2)
d) O (1)
Answer: a
Clarification: In order to perform the insertion on the rope data structure, one can insert the given string at any position x to form a new string in O (log n) time. So, the time complexity for worst case is O (log n). This can be done by one split operation and two concatenation operations.
8. Is insertion and deletion operation faster in rope than an array?
a) True
b) False
Answer: a
Clarification: In order to perform the insertion on the rope data structure, the time complexity is O (log n). In order to perform the deletion on the rope data structure, the time complexity for worst case is O (log n). While for arrays the time complexity is O (n).
9. What is the time complexity for deleting the string to form a new string in the rope data structure?
a) O (n2)
b) O (n!)
c) O (log n)
d) O (1)
Answer: c
Clarification: In order to perform the deletion on the rope data structure, one can delete the given string at any position x to form a new string in O (log n) time. So, the time complexity for worst case is O (log n). This can be done by two split operations and one concatenation operation.
10. Is it possible to perform a split operation on a string in the rope if the split point is in the middle of the string.
a) True
b) False
Answer: a
Clarification: In order to perform the splitting on the rope data structure, one can split the given string into two new string S1 and S2 in O (log n) time. So, the time complexity for worst case is O (log n). The split operation can be performed if the split point is either at the end of the string or in the middle of the string.