Question 1
Question
How do referenced types differ from primitive types?
Answer
-
Primitive types are integers.
-
Referenced types are strings.
-
Primitive types use memory addresses.
-
Referenced types use pointers to addresses.
Question 2
Question
Why do programmers use data structures rather than individual values?
Answer
-
for reduced storage
-
for multiple data types
-
for ease of access
Question 3
Question
Which data type only uses one bit per instance?
Answer
-
Short
-
char
-
double
-
boolean
Question 4
Question
Which data type uses the most storage per value?
Question 5
Question
What is the output of the following JavaScript code?
var Salutations = [["Dear", "Hello", "Howdy"], ["Friend", "Judy", "Concerned", "Good Old Pal"]]
console.log(Salutations[1][1])
Question 6
Question
How many elements are there in a two-dimensional array with length (4,7)?
Question 7
Question
What is the output of the following Swift code?
var noKeys = [5,4,7,8,10,22]
var noChains=noKeys.count
print(noChains)
Question 8
Question
Why is a linear search slow?
Question 9
Question
Why should you exercise restraint and care in the use of mutable arrays?
Answer
-
The syntax for their use is extremely tedious and sensitive.
-
Their use can slow down performance dramatically.
-
The code may become difficult to translate to other languages.
Question 10
Question
What is the output of the following C# code?
using System;
class Program
{
static void Main() {
int[ ][ ] jagged = new int[3][];
jagged[0]=new int[4];
jagged[1] = new int[2];
jagged[2]=new int[7];
Console.WriteLine(jagged[1][1]);
}}
Question 11
Question
What is the defining characteristic of a jagged, two-dimensional array?
Answer
-
The length in the second dimension is variable.
-
The elements consist of strings.
-
The elements are of different data types.
-
The size of the array is not fixed.
Question 12
Question
What is the time complexity for a linear search if the value is not present?
Answer
-
O(ln(n))
-
O(n)
-
O(1)
-
O(n ln(n))
Question 13
Question
How are data elements referenced in an array?
Answer
-
by value
-
with an index or key
-
with a size or type
-
by name
Question 14
Question
What is returned by MyList.contains("Buy glue") if you are using java.util.LinkedList?
Answer
-
a Boolean
-
a string
-
an integer
Question 15
Question
Where does the following Java code add a new element to a linked list?
Node nodeToAdd = new Node(data);
nodeToAdd.next = this.head;
this.head = nodeToAdd;
Question 16
Question
What is the time complexity for insertion into a linked list?
Question 17
Question
How does Python implement linked lists?
Answer
-
as doubly linked lists
-
as arrays
-
as strings
Question 18
Question
What is required to change a singly linked list to a doubly linked list?
Answer
-
a two-dimensional array
-
pointers to adjacent nodes
-
a second head node and reverse pointers
-
a tail node and pointers to previous nodes
Question 19
Question
You have just added a new element at the end of an existing linked list. What is in the pointer of that new element?
Question 20
Question
What is contained in a node of a linked list?
Answer
-
a value and an index
-
a string and an integer
-
data and a pointer
-
an array and a size
Question 21
Question
How do queues differ from stacks?
Answer
-
Queues use FIFO and stacks use LIFO.
-
Queues use LIFO and stacks use FIFO.
-
Queues add and remove from the end of the list rather than from the beginning.
-
Stacks add and remove from different ends of the list rather than from the same end.
Question 22
Question
What is wrong with the following Java code?
import java.util.Stack;
public class MyClass {
public static void main(String args[]) {
Stack myStack = new Stack();
myStack.push("test");
myStack.pop();
myStack.pop();
Question 23
Question
The following Swift code uses the push and pop functions as in the example. What is the value of SecondPop?
var deck:Stack=Stack()
deck.push(item: "Queen: Spades")
deck.push(item "10: Diamonds")
deck.push(item: "4: Hearts")
deck.push(item: "2: Hearts")
var FirstPop = deck.pop()
var SecondPop= deck.pop()
Answer
-
10: Diamonds
-
Queen: Spades
-
4: Hearts
-
2: Hearts
Question 24
Question
In the Swift code func pop()-> String?, what does the question mark mean?
Answer
-
The function may sometimes fail.
-
The length of the string is unknown.
-
The value returned is either a string or nil.
-
The argument of the function is unknown.
Question 25
Question
Which data structure is most useful for reversing an ordered state or list?
Answer
-
a queue
-
a stack
-
a string
-
an array
Question 26
Question
What does LIFO stand for?
Question 27
Question
How are items with the same priority dequeued from priority queues?
Answer
-
by FIFO
-
by LIFO
-
by value
-
by size
Question 28
Question
The following Swift code uses the Queue class as in the example. What does the print() function output?
var yourQueue = Queue()
yourQueue.enqueue(item: "10")
yourQueue.enqueue(item: "5")
yourQueue.enqueue(item: "8")
var OutZero yourQueue.dequeue()
var OutOne = yourQueue.dequeue()
print(yourQueue.peek()!)
Question 29
Question
What does a peek() return from a queue?
Answer
-
the first item
-
an arbitrary item
-
the last item
-
the middle item
Question 30
Question
Which language has the least support for hash functions and tables?
Answer
-
Python
-
Swift
-
Javascript
-
Java
Question 31
Question
Which line in the following Python 3 code produces a Key Error?
Answer
-
CapitalsToStates["Austin"] = "Texas"
-
print(CapitalsToStates["New York"])
-
CapitalsToStates = {}
-
print(CapitalsToStates["Austin"])
Question 32
Question
Why would you use separate chaining?
Question 33
Question
When do hash tables suffer in performance?
Answer
-
when the keys are excessively long
-
when there are collisions
-
when the table is very large
Question 34
Question
How does hashing differ from encrypting?
Answer
-
Encrypting is reversible, but hashing is not.
-
Encrypting produces plain text, but hashing produces integers.
-
Hashing uses ASCII, and encrypting does not.
-
Hashing produces unique values, but encrypting does not.
Question 35
Question
Which statement is true for associative arrays?
Answer
-
Values must be ordered.
-
Keys must be unique.
-
Values must be unique.
-
Keys must be ordered.
Question 36
Question
Which statement is true for a tree data structure?
Answer
-
A parent can have only two children.
-
Leaves can have many children.
-
The root does not have a parent.
-
A node cannot be both a parent and a child.
Question 37
Question
What does the following Python 3 code output?
pocketContents=set(["keys","coins","knife"])
pocketContents.add("receipt")
pocketContents.add("string")
print(pocketContents)
Answer
-
{'receipt', 'coins', 'keys', 'string'}
-
{'receipt', 'coins', 'keys', 'string', 'knife'}
-
{'string', 'knife'}
-
{'receipt', 'coins', 'keys', 'knife'}
Question 38
Question
Which list constitutes a valid set containing four elements?
Answer
-
{0, 5, 12, 0}
-
{"four", "twelve", 6, "four"}
-
{"dog", "cat", "dog", "car"}
-
{0, "dog", "car", 7}
Question 39
Question
What characterizes a min heap?
Answer
-
The children have values less than those of their parents.
-
The value of the right child is less than that of the left.
-
The root contains the largest value.
-
The root contains the lowest value.
Question 40
Question
Why are binary search trees organized with the left child less than the parent and the right child greater than the parent?
Answer
-
to have more layers or branches
-
to reduce storage requirements
-
to use fewer pointers
-
to make them easy to search