CS301 Mid Term Mega File PDF
Document Details
Uploaded by WieldyPhotorealism
Institute of E-Learning & Modern Studies (IEMS) Samundari
VU HELPER
ZUBAIR & JAHANZAIB
Tags
Related
- Data Structures & Algorithms Lecture Notes 1 PDF
- Data Structures - Ellis Horowitz, Sartaj Sahni - Fundamentals - PDF
- Data Structures and Algorithms Study Guide (Sorsogon State University)
- CS301 Data Structures Past Paper PDF 2010
- Introduction to Java Programming and Data Structures (2019) by Y. Daniel Liang - PDF
- Data Structures and Algorithms with Python and C++ PDF
Summary
This document is a solved midterm exam paper for CS301, covering data structures and algorithms. It includes questions and answers on topics such as linked lists, stacks, queues, trees, and more.
Full Transcript
www.vuplanet.com MID TERM MEGA FILE SOLVED BY VU HELPER Which one of the following statement is NOT correct. ► In linked list the elements are necessarily to be contiguous ► In linked list the elements may locate at far positions in the...
www.vuplanet.com MID TERM MEGA FILE SOLVED BY VU HELPER Which one of the following statement is NOT correct. ► In linked list the elements are necessarily to be contiguous ► In linked list the elements may locate at far positions in the memory ► In linked list each element also has the next to it ► In an array the elements are contiguous Each operator in a postfix expression refers to the previous ________ operand(s). ► One ► Two ► Three ► Four Which one of the following calling methods does not change the original value of the argument in the calling function? ► None of the given options ► Call by passing the value of the argument ► Call by passing reference of the argument ► Call by passing the address of the argument A tree is an AVL tree if ► Any one node fulfills the AVL condition ► At least half of the nodes fulfill the AVL condition ► All the nodes fulfill the AVL condition ► None of the given options Suppose currentNode refers to a node in a linked list (using the Node class with member variables called data and nextNode). What statement changes currentNode so that it refers to the next node? ► currentNode ++; ► currentNode = nextNode; ► currentNode += nextNode; ► currentNode = currentNode->nextNode; A queue where the de-queue operation depends not on FIFO, is called a priority queue ► False ► True ZUBAIR & JAHANZAIB 1 www.vuplanet.com Which one is a self- referential data type? ► Stack ► Queue ► Link list ► All of these Each node in doubly link list has, ► 1 pointer ► 2 pointers ► 3 pointers ► 4 pointers I have implemented the queue with a linked list, keeping track of a front pointer and a rear pointer. Which of these pointers will change during an insertion into an EMPTY queue? ► Neither changes ► Only front pointer changes. ► Only rear pointer changes. ► Both change. Consider the following tree. How many of the nodes have at least one sibling? ►8 ►7 ►5 ►6 The nodes with no successor are called _________ ► Root Nodes ► Leaf Nodes ► Both of these ► None of these AVL Tree is, ► Non Linear data structure ► Linear data structure ► Hybrid data structure (Mixture of Linear and Non Linear) ► None of the given options. ZUBAIR & JAHANZAIB 2 www.vuplanet.com We access elements in AVL Tree in, ► Linear way only ► Non Linear way only ► Both linear and non linear ways ► None of the given options. A binary search tree should have minimum of ________ node/s at each level, ► One ► Two ► Three ► Four Consider the following statements. (i) A binary tree can contain at least 2L Nodes at level L. (ii) A complete binary tree of depth d is a binary tree that contains 2 L Nodes at each level L between 0 and d, both inclusive. (iii) The total number of nodes (Tn ) in a complete binary tree of depth d is 2 d+1 - 1. (iv) The height of the complete binary tree can be written as h = log 2 (Tn+1)-1 where Tn is Total number of Nodes. Which one of the following is correct in respect of the above statements regarding the Binary trees? ► (i) and (iii) only ► (i), (ii) and (iii) only ► (ii) and (iii) only ► (ii), (iii) and (iv) only “+” is a _________operator. ► Unary ► Binary ► Ternary ► None of the above A queue where the de-queue operation depends not on FIFO, is called a priority queue ► False ► True The data of the problem is of 2GB and the hard disk is of 1GB capacity, to solve this problem we should ► Use better data structures ► Increase the hard disk space ► Use the better algorithm ► Use as much data as we can store on the hard disk Consider the function X as under int X (int& Value) { return Value; } ZUBAIR & JAHANZAIB 3 www.vuplanet.com Now a and b are integers in a calling function. Which one of the following is a valid call to the above function X. ► a = X (b) ; ► a = X (&b) ; ► a = X (*b) ; ► None of the given options In the call by value methodology, a copy of the object is passed to the called function. ► False ► True The tree data structure is a ► Linear data structure ► Non-linear data structure ► Graphical data structure ► Data structure like queue When should you use a const reference parameter? ► Whenever the parameter has huge size ► Whenever the parameter has huge size, the function changes the parameter within its body, and you do NOT want these changes to alter the actual argument. ► Whenever the parameter has huge size, the function changes the parameter within its body, and you DO want these changes to alter the actual argument. ► Whenever the parameter has huge size, and the function does not change the parameter within its body. Here is the start of a C++ class declaration: class foo { public: void x(foo f); void y(const foo f); void z(foo f) const;... Which of the three member functions can alter the PRIVATE member variables of the foo object that activates the function? ► Only x can alter the private member variables of the object that activates the function. (R ) ► Only y can alter the private member variables of the object that activates the function. ► Only z can alter the private member variables of the object that activates the function. ► Two of the functions can alter the private member variables of the object that activates the function. What is the maximum depth of recursive calls a function may make? ►1 ►2 ► n (where n is the argument) ► There is no fixed maximum ZUBAIR & JAHANZAIB 4 www.vuplanet.com Suppose n is the number of nodes in a complete Binary Tree then maximum steps required for a search operation are, ► Log2 (n+1) -1 ► Log2 (n+1) ► Log2 (n) - 1 ► Log2 (n) In the linked list implementation of the stack class, where does the push member function places the new entry on the linked list? ► At the head ► At the tail ► After all other entries that are greater than the new entry. ► After all other entries that are smaller than the new entry. Suppose we have a circular array implementation of the queue class, with ten items in the queue stored at data through data. The CAPACITY is 42, i.e., the array has been declared to be of size 42. Where does the push member function place the new entry in the array? ► data ► data ► data ► data The expression AB+C* is called ? ► Prefix expression ► Postfix expression ► Infix expression ► None of these _________ is a binary tree where every node has a value, every node's left subtree contains only values less than or equal to the node's value, and every node's right subtree contains only values that are greater then or equal ? ► Strictly Binary Tree ► Binary Search tree ► AVL tree ► All of these Consider the following binary search tree (BST): If node A in the BST is deleted, which two nodes are the candidates to take its place? ► J and I (Pending) ZUBAIR & JAHANZAIB 5 www.vuplanet.com ► H and E ► D and E ► L and M Let's call the node as a that requires re-balancing. Consider the two cases given below: 1) An insertion into left subtree of the left child of a 2) An insertion into right subtree of the right child of a. Which of the following statement is correct about these two cases. ►The insertion occurs outside (i.e., left-left or right-right) in cases 1 and 2. single rotation can fix the balance in these two cases. ►The insertion occurs inside ((i.e., left-left or right-right) in cases 1 and 2. single rotation cannot fix the balance in these two cases We access elements in AVL Tree in, ► Linear way only ► Non Linear way only ► Both linear and non linear ways ► None of the given options. AVL Tree is, ► Non Linear data structure ► Linear data structure ► Hybrid data structure (Mixture of Linear and Non Linear) ► None of the given options. Which one of the following is a valid postfix expression? ► ab+c*d- ► abc*+d- ► abc+*d- ► (abc*)+d- The tree data structure is a ► Linear data structure ► Non-linear data structure ► Graphical data structure ► Data structure like queue A Compound Data Structure is the data structure which can have multiple data items of same type or of different types. Which of the following can be considered compound data structure? ► Arrays ► LinkLists ► Binary Search Trees ► All of the given options Suppose a pointer has been declared in main but has not assigned any variable address then ► That pointer points to First byte in main function ► That pointer contains a NULL value ► None of these ► That pointer points to any memory address ZUBAIR & JAHANZAIB 6 www.vuplanet.com Here is the start of a C++ class declaration: class foo { public: void x(foo f); void y(const foo f); void z(foo f) const; Which of the three member functions can alter the PRIVATE member variables of the foo object that activates the function? ► Only x can alter the private member variables of the object that activates the function. ► Only y can alter the private member variables of the object that activates the function. ► Only z can alter the private member variables of the object that activates the function. ► Two of the functions can alter the private member variables of the object that activates the function. The operation for removing an entry from a stack is traditionally called: ► delete ► peek ► pop ► remove Which statement of the following statements is incorrect? ► Lists can be implemented by using arrays or linked lists ► A list is a sequence of one or more data items ► Stack is a special kind of list in which all insertions and deletions take place at one end ► Stacks are easier to implement than lists Parameters in function call are passed using, ► Stack ► Queue ► Binary Search Tree ► AVL Tree Consider the following sequence of push operations in a stack: stack.push('7'); stack.push('8'); stack.push('9'); stack.push('10'); stack.push('11'); stack.push('12'); ► 7 8 9 10 11 12 ► 9 8 11 10 7 12 ► 9 10 8 11 12 7 ► 9 10 8 12 7 11 ZUBAIR & JAHANZAIB 7 www.vuplanet.com What is the maximum depth of recursive calls a function may make? ►1 ►2 ► n (where n is the argument) ► There is no fixed maximum Consider the following function: void test_a(int n) { cout nextNode == null) ► (nextNode.data == null) ► (currentNode.data == 0.0) Question No: 6 ( Marks: 1 ) - Please choose one Suppose that the class declaration of SomeClass includes the following function prototype. bool LessThan( SomeClass anotherObject ); Which of the following tests in the client code correctly compares two class objects alpha and beta? ► if (alpha < beta) ► if (alpha.LessThan(beta)) ► if (LessThan(alpha, beta)) ► if (LessThan(alpha).beta) Question No: 7 ( Marks: 1 ) - Please choose one In C what is the operation that you can not do with primitive types? ► Assign a value to primitive type using a literal ► Declare primitive types to be constant using the Const keyword ► Create a new instance of primitive type with New keyword ► None of these Question No: 8 ( Marks: 1 ) - Please choose one The operation for adding an entry to a stack is traditionally called : ► add ► append ► insert ► push Question No: 9 ( Marks: 1 ) - Please choose one The operation for removing an entry from a stack is traditionally called: ► delete ► peek ► pop ► remove Question No: 10 ( Marks: 1 ) - Please choose one Consider the following sequence of push operations in a stack: stack.push('7'); stack.push('8'); stack.push('9'); stack.push('10'); stack.push('11'); stack.push('12'); ► 7 8 9 10 11 12 ► 9 8 11 10 7 12 ► 9 10 8 11 12 7 ► 9 10 8 12 7 11 Question No: 11 ( Marks: 1 ) - Please choose one ________ is the maximum number of nodes that you can have on a stack-linked list ? ► Zero ZUBAIR & JAHANZAIB 19 www.vuplanet.com ► 2n (where n is the number of nodes in linked list) ► Any Number ► None of these Question No: 12 ( Marks: 1 ) - Please choose one Which of the following can be used to reverse a string value, ► Stack ► Queue ► Both of these ► None of these Question No: 13 ( Marks: 1 ) - Please choose one Consider the following tree, How many leaves does it have? ►2 ►4 ►6 ►9 Question No: 14 ( Marks: 1 ) - Please choose one AVL Tree is, ► Non Linear data structure ► Linear data structure ► Hybrid data structure (Mixture of Linear and Non Linear) ► None of the given options. Question No: 15 ( Marks: 1 ) - Please choose one The following are statements related to queues. (i) The last item to be added to a queue is the first item to be removed (ii) A queue is a structure in which both ends are not used (iii) The last element hasn't to wait until all elements preceding it on the queue are removed (iv)A queue is said to be a last-in-first-out list or LIFO data structure. Which of the above is/are related to normal queues? ► (iii) and (ii) only ► (i), (ii) and (iv) only ► (ii) and (iv) only ► None of the given options Question No: 16 ( Marks: 1 ) - Please choose one An array is a group of consecutive related memory locations. ► True ► False Question No: 1 ( Marks: 1 ) - Please choose one In an array we can store data elements of different types. ► True ► False Question No: 2 ( Marks: 1 ) - Please choose one In an array list the current element is ZUBAIR & JAHANZAIB 20 www.vuplanet.com ► The first element ► The middle element ► The last element ► The element where the current pointer points to Question No: 3 ( Marks: 1 ) - Please choose one Which one of the following calling methods does not change the original value of the argument in the calling function? ► None of the given options ► Call by passing the value of the argument ► Call by passing reference of the argument ► Call by passing the address of the argument Question No: 4 ( Marks: 1 ) - Please choose one Which one of the following statements is NOT correct? ► Array size can be changed after its creation. ► Link List size can be changed after its creation ► Binary Search Tree size can be changed after its creation ► AVL Tree size can be changed after its creation Question No: 5 ( Marks: 1 ) - Please choose one Suppose that the class declaration of SomeClass includes the following function prototype. bool LessThan( SomeClass anotherObject ); Which of the following tests in the client code correctly compares two class objects alpha and beta? ► if (alpha < beta) ► if (alpha.LessThan(beta)) ► if (LessThan(alpha, beta)) ► if (LessThan(alpha).beta) Question No: 6 ( Marks: 1 ) - Please choose one A queue is a ________data structure, whereas a stack is a ________data structure. ► FIFO, LIFO ► LIFO,FIFO ► none of these ► both of these Question No: 7 ( Marks: 1 ) - Please choose one Which one of the following operators has higher priority than all of others ? ► Multiplication operator ► Minus operator ► Plus operator ► Exponentiation operator Question No: 8 ( Marks: 1 ) - Please choose one Each node in Binary Search Tree has ► 1 pointer ► 2 pointers ZUBAIR & JAHANZAIB 21 www.vuplanet.com ► 3 pointers ► 4 pointers Question No: 9 ( Marks: 1 ) - Please choose one Four statements about trees are below. Three of them are correct. Which one is INCORRECT? ► Trees are recursively defined multi-dimensional data structures ► The order of a tree indicates a maximum number of childen allowed at each node of the tree ► A search tree is a special type of tree where all values (i.e. keys) are ordered ► If Tree1's size is greater than Tree2's size, then the height of Tree1 must also be greater than Tree2's height. Question No: 10 ( Marks: 1 ) - Please choose one Which of the following is "TRUE" about arrays, ► We can increase the size of arrays after their creation. ► We can decrease the size of arrays after their creation. ► We can increase but can't decrease the size of arrays after their creation. ► We can neither increase nor decrease the array size after their creation. Question No: 11 ( Marks: 1 ) - Please choose one Searching an element in an AVL tree take maximum _______ time (where n is no. of nodes in AVL tree), ► Log2(n+1) ► Log2(n+1) -1 ► 1.44 Log2n ► 1.66 Log2n Question No: 12 ( Marks: 1 ) - Please choose one There is/are ________ case/s for rotation in an AVL tree, ►1 ►3 ►2 ►4 Question No: 13 ( Marks: 1 ) - Please choose one Consider the following statements. i. A binary tree can contain at least 2L Nodes at level L. ii. A complete binary tree of depth d is a binary tree that contains 2L Nodes at each level L between 0 and d, both inclusive. iii. The total number of nodes (Tn ) in a complete binary tree of depth d is 2 d+1 - 1. iv. The height of the complete binary tree can be written as h = log 2 (Tn+1)-1 where Tn is Total number of Nodes. Which one of the following is correct in respect of the above statements regarding the Binary trees? ► (i) and (iii) only ► (i), (ii) and (iii) only ► (ii) and (iii) only ► (ii), (iii) and (iv) only Question No: 14 ( Marks: 1 ) - Please choose one Consider the following infix expression. 5 + 6/2 ZUBAIR & JAHANZAIB 22 www.vuplanet.com If one converts the above expression into postfix, what would be the resultant expression? ► 56/ + 2 ►562/+ ►56/2+ ► /62 + 5 Question No: 15 ( Marks: 1 ) - Please choose one Which of the following is a non linear data structure? ► Linked List ► Stack ► Queue ► Tree Question No: 16 ( Marks: 1 ) - Please choose one “+” is a _________operator. ► Unary ► Binary ► Ternary ► None of the above Question: ( Marks: 1 ) - Please choose one In a complete binary tree of depth 5 the number of non-leaf nodes is 15 32 16 31 Question: ( Marks: 1 ) - Please choose one Which of the following is NOT a linear data structure? Linked List Stack Queue Tree Question: ( Marks: 1 ) - Please choose one Recursive function calls are implemented internally using a data structure Stack Link-List Tree Queue Question: ( Marks: 1 ) - Please choose one We access elements in AVL Tree in, Linear way only Non Linear way only Both linear and non linear ways None of the given options. Question: ( Marks: 1 ) - Please choose one Consider the following tree, How many leaves does it have? 2 4 6 9 Question: ( Marks: 1 ) - Please choose one In the statement int x; , we cannot assign any value to x because x is not an lvalue. ZUBAIR & JAHANZAIB 23 www.vuplanet.com True False Question: ( Marks: 1 ) - Please choose one In the following C++ code, how many function calls are made? int x, y, z; x = 2; y = 3 + x; z = foobar(x,y); 1 4 7 8 Question: ( Marks: 1 ) - Please choose one Consider the following infix expression: 3 + 5 * 6 - 7 * (8 + 5) Which of the following is a correct equivalent expression(s) for the above? 65+*7 5 8 + -* 657 5 8+* + -* 5 6+*7 8 5 + -* 3 5 6 * + 7 8 5 + * - Question: ( Marks: 1 ) - Please choose one A subscript of an array may be an integer or an integer expression. True False Question: ( Marks: 1 ) - Please choose one Which of the following is "TRUE" about arrays, We can increase the size of arrays after their creation. We can decrease the size of arrays after their creation. We can increase but can't decrease the size of arrays after their creation. We can neither increase nor decrease the array size after their creation. Question: ( Marks: 1 ) - Please choose one Searching an element in an AVL tree take maximum _______ time (where n is no. of nodes in AVL tree), Log2(n+1) Log2(n+1) -1 1.44 Log2n 1.66 Log2n Question: ( Marks: 1 ) - Please choose one There is/are ________ case/s for rotation in an AVL tree, 1 3 2 4 Question: ( Marks: 1 ) - Please choose one Consider the following infix expression. 5 + 6/2 If one converts the above expression into postfix, what would be the resultant expression? 56/ + 2 562/+ 56/2+ /62 + 5 ZUBAIR & JAHANZAIB 24 www.vuplanet.com Question No: 16 ( Marks: 1 ) - Please choose one “+” is a _________operator. Unary Binary Ternary None of the above ZUBAIR & JAHANZAIB 25 www.vuplanet.com 1. Addition of new items in stack make the pointer ------------ by 2 :- a. Increment, bits b. Increment, bytes c. Decrement, bits d. Decrement, bytes 2. Next item in a linked list is known as:- a. Index b. Item c. Node d. Child 3. What will be the postfix notation of 5+6/2. a. 56+/2 b. 562+/ c. 562/+ d. 5+62/ 4. In an AVL tree to delete a parent with two childs in a straight line following rotations will be required:- a. Single b. Double c. Triple d. None. 5. To check the depth of an AVL tree following time will be taken:- a. 1.66 Log2n b. 1.44 Log2n c. Log2(n+1)-1 d. 1.66 Log2n (n+1) 6. BST is a _______ Structure:- a. Linear b. Non Linear c. Circular d. None of Above 7. After creation of an arry:- a. Size can be increase but can not be decreased. b. Size can be decreased but can not be increased. c. Size can neither be increased nor be decreased. d. Size can be increased and can also be decreased. 8. Each node in a BST has ______ Pointers:- a. 1 b. 2 c. 3 d. 4 9. Highest Operators Precedence is of the following operator:- a. Plus b. Minus c. Multiply d. Exponentiation 10. Following are the linear data structures:- a. Stacks b. Queues ZUBAIR & JAHANZAIB 26 www.vuplanet.com c. Both a & b d. None of the above 11. Each entry which points to a null value in a Singly Linked List is known as:- a. Node b. First Node c. Last Node d. Head Node 12. Non recursive calls are faster than the Recursive calls. a. True b. False 13. Tree data structure is a ________ a. Linear b. Non Linear c. Circular d. None of Above 14. What will be the valid postfix notation of A+B*C-D a. ABC+*D- b. ABC*+D- c. ABCD+-* d. AB+D*C 15. When an operator is used in between two operands this is which type of notation a. Prefix b. Postfix c. Infix d. None of the Above Question No: 1 ( Marks: 1 ) - Please choose one Which one of the following operations returns top value of the stack? Push Pop Top First Question No: 2 ( Marks: 1 ) - Please choose one In a complete binary tree of depth 4 the number of non-leaf nodes is 7 8 15 16 Question No: 3 ( Marks: 1 ) - Please choose one Which of the following is NOT a linear data structure? Linked List Stack Queue Tree Question No: 4 ( Marks: 1 ) - Please choose one A Linear Data Structure is the data structure in which data elements are arranged in a sequence or a linear list. Which of the following is Non Linear Data Structure? Arrays LinkLists Binary Search Trees None of these ZUBAIR & JAHANZAIB 27 www.vuplanet.com Question No: 5 ( Marks: 1 ) - Please choose one In sequential access data structure, accessing any element in the data structure takes different amount of time. Tell which one of the following is sequential access data structure, Arrays Lists Both of these None of these Question No: 6 ( Marks: 1 ) - Please choose one If you know the size of the data structure in advance, i.e., at compile time, which one of the following is a good data structure to use. Array List Both of these None of these Question No: 7 ( Marks: 1 ) - Please choose one Recursive function calls are implemented internally using a data structure Stack Link-List Tree Queue Question No: 8 ( Marks: 1 ) - Please choose one Given a stack of n items, how many POP and PUSH operations need to be performed to remove the item at its bottom? 0 POP operation and 0 PUSH operation 1 POP operation and 1 PUSH operation n POP operations and n PUSH operations n POP operations and n-1 PUSH operations Question No: 9 ( Marks: 1 ) - Please choose one One difference between a queue and a stack is: Queues require dynamic memory, but stacks do not. Stacks require dynamic memory, but queues do not. Queues use two ends of the structure; stacks use only one. Stacks use two ends of the structure, queues use only one. Question No: 10 ( Marks: 1 ) - Please choose one In the following C++ code, how many function calls are made? int x, y, z; x = 2; y = 3 + x; z = foobar(x,y); 1 4 7 8 Question No: 11 ( Marks: 1 ) - Please choose one Consider the following function: void test_a(int n) { cout