



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A compilation of multiple-choice questions and answers focusing on fundamental concepts in data structures, specifically recursion, algorithm analysis, and stacks. It covers topics such as adts, primitive data types in c++, recursive functions, time complexity analysis using big-oh notation, and stack operations. The questions test understanding of stack behavior, implementation using arrays, and practical applications of stacks in computer science. It is designed to help students prepare for exams or quizzes on data structures and algorithms, providing a concise review of key concepts and terminology. Useful for students to test their knowledge and understanding of data structures concepts, particularly stacks and related algorithms. It provides a quick review of key concepts and terminology, making it a valuable resource for exam preparation.
Typology: Exams
1 / 6
This page cannot be seen from the preview
Don't miss anything!




Data structures can be said to be an ADT's ______. 1 specifications 2 implementation 3 abstraction 4 definition CORRECT ANSWERS 2 implementation The specifications of an ADT's operations indicate ______. 1 what the operations do 2 how to store the data in the ADT 3 how to carry out the operations 4 how to implement the operations CORRECT ANSWERS 2 what the operations do Which of the following is not an primitive data type in C++? 1 string 2 char 3 bool 4 double CORRECT ANSWERS 1 string In a recursive solution to a problem, we solve a problem P(n) by solving another problem P(k) where 1 P(k) is smaller than P(n) 2 P(k) is same as P(n) 3 P(k) is the hardest part of P(n) 4 P(k) is a larger problem than P(n) CORRECT ANSWERS 1 P(k) is smaller than P(n) A(n) ______ is a C++ construct that enables a programmer to define a new data type. 1 data field 2 object 3 method 4 class CORRECT ANSWERS 4 class The function int fact (int k) { return k * fact(k-1); if (k == 0) return 1; } 1 computes the factorial on an integer k passed to it as parameter
2 works for all non-negative values of k, but not for negative numbers. 3 returns the value 1 if it is passed a value of 0 for the parameter k 4 does not correctly handle its base case CORRECT ANSWERS 4 does not correctly handle its base case When a function contains a function call to itself, such function is _____. 1 self-reference 2 reciprocal 3 repetitive 4 recursive CORRECT ANSWERS 4 recursive The factorial of n is equal to 1 factorial (n-1) 2 n - factorial (n-1) 3 n * factorial (n-1) 4 n - 1 CORRECT ANSWERS 3 n * factorial (n-1) When a programmer writes a definition to make a new type to be used for a declaration, the new type is called a: 1 programmer-defined type 2 struct-defined type 3 client-defined type 4 primitive data type CORRECT ANSWERS 1 programmer-defined type How many times is the following code invoked by the call recursive(4)? void recursive( int i ) { if (i < 8) { cout << i << " "; recursive(i); } } 1 4 2 This is an infinite recursion 3 8 4 2 CORRECT ANSWERS 2 This is an infinite recursion When an algorithm has an upper limit to the number of instructions, regardless of the size of n, it is referred to as a(n) ______________ algorithm. 1 limited 2 time complex 3 constant time
1 O(log n) 2 O(1) 3 O(n log n) 4 O(n) CORRECT ANSWERS 3 O(n log n) Big-oh notation of a time complexity applies when: 1 an algorithm's time complexity changes with the number of elements 2 an algorithm's time complexity is always the same 3 an algorithm's time complexity can vary, but it won't be any worse than its big-oh time complexity 4 an algorithm's time complexity can vary, but it won't be any better than its big-oh time complexity CORRECT ANSWERS 3 an algorithm's time complexity can vary, but it won't be any worse than its big-oh time complexity ____ allows retrieving an element from a stack without removing it. 1 top or peek 2 traverse 3 push 4 pop CORRECT ANSWERS 1 top or peek Software must make efficient use of resources such as _______ and _______. 1 Memory, Hard Drive 2 CPU time, Memory 3 Hard Drive, Video Card 4 CPU time, Video Card CORRECT ANSWERS 2 CPU time, Memory If keyboard entry is treated as an stack ADT and the backspace key is pressed when the stack ADT is empty, which of the following is the most reasonable action for the stack ADT to take? 1 display an error message 2 ignore the backspace and continue 3 display a symbol for the backspace 4 terminate the program and write an error message CORRECT ANSWERS 2 ignore the backspace and continue A ______ can be used to reverse the order of a set of data. 1 Stack 2 Software 3 Heaps 4 Queue CORRECT ANSWERS 1 Stack What behavior does the ADT stack exhibit?
1 first in, first out 2 last-in, first-out 3 first in, never out 4 last in, last out CORRECT ANSWERS 2 last-in, first-out A recursive function should be designed to stop making recursive calls when it reaches its 1 base case 2 last parameter 3 closing curly brace 4 return statement CORRECT ANSWERS 1 base case Which of the following construct does not allow programmer to define a new type in C+ +? 1 struct 2 array 3 class 4 typedef CORRECT ANSWERS 2 array The ______ operation of the ADT stack retrieves and then removes the top of the stack. 1 pop 2 getTop 3 createStack 4 push CORRECT ANSWERS 1 pop Which of the following is a good analogy of the ADT Stack? 1 a paper bag with colored poker chips 2 a group of people playing musical chairs 3 a pile of textbooks on your desk 4 people standing in a cafeteria line CORRECT ANSWERS 3 a pile of textbooks on your desk The Big-Oh notation depicts the ____ case scenario of an algorithm. 1 ordinary 2 best 3 average 4 worst CORRECT ANSWERS 4 worst The item that is removed first from a stack is called the ______ of the stack. 1 base 2 top 3 front 4 prime CORRECT ANSWERS 2 top A practical application of the stack is