Term
Express in Big O Notation:
f(n) = n4 + 9456n3 + n |
|
Definition
|
|
Term
What is the dominant term of: f(n) = n4 + 9456n3 + n |
|
Definition
|
|
Term
| With big O notation we express the runtime in terms of what? |
|
Definition
| How quickly it grows relative to the input, as the input gets arbitrarily large. |
|
|
Term
Express in Big O notation:
n3+50n2+10000 |
|
Definition
|
|
Term
What is the dominant term of: n113+13n3+131313 |
|
Definition
|
|
Term
|
Definition
| Only entered in memory once, belongs to the class, its value is shared among all instances. |
|
|
Term
|
Definition
| A method that can be called using the class name without instantiating an object |
|
|
Term
| What is the difference between a static variable and an instance variable? |
|
Definition
| A static variable is shared among all instances of a class and an instance variable is accessed through a particular instance. |
|
|
Term
| Why can't a static method refer to an instance variable? |
|
Definition
| Static methods don't operate in the context of a particular object |
|
|
Term
|
Definition
| an Object form of primitive data |
|
|
Term
| Why does Java need wrapper classes? |
|
Definition
| We can't create advanced data structures out of primitive data |
|
|
Term
| Write a constructor for an Integer object called swiftObj and store the value 13. |
|
Definition
| Integer swiftObj = new Integer(13); |
|
|
Term
| Write a constructor for an Integer object called n and set the value to 22. |
|
Definition
| Integer n = new Integer(22); |
|
|
Term
| How do try/catch blocks work? |
|
Definition
| Take a section of code that has the potential to crash your program and put inside a try block. If it throws an exception or runtime error, it will jump to the catch block where there is code to handle the error. |
|
|
Term
| Why do people use try/catch blocks? |
|
Definition
| They allow for the program to handle an error and continue running without crashing |
|
|
Term
| When should you use try/catch blocks? |
|
Definition
| When there is code with the potential to to throw a runtime error or exception |
|
|
Term
| What is the advantage of using ArrayLists instead of arrays? |
|
Definition
| ArrayLists automatically size themselves to fit the contents of the structure |
|
|
Term
| What is the disadvantage of using ArrayLists instead of arrays? |
|
Definition
| We can’t put primitive types in an ArrayList |
|
|
Term
Write the code to loop through and output all the elements of an array list: ArrayList<String> list |
|
Definition
for(int i = 0; i < list.size(); i++){ System.out.println(list.get(i).toString()); } |
|
|
Term
Write the code to loop through and output all of the elements of an ArrayList:
ArrayList<Dog> dogList |
|
Definition
for(int i = 0; i < dogList.size(); i++){ System.out.println(dogList.get(i).toString()); } |
|
|
Term
| What are the trade-offs in space complexity bewteen ArrayList and LinkedList? |
|
Definition
| LinkedList requires more space per object, while the ArrayList is resizable. |
|
|
Term
| What are the trade-offs in time complexity between ArrayList and LinkedList? |
|
Definition
| The ArrayList can access any element of the list in the same amount of time if the index value is know, while the LinkedList requires the list to be traversed from one end or the other to reach a position. |
|
|
Term
| Why is the time to increase the capacity of the array on an add operation negligible for an ArrayList? |
|
Definition
| Averaged over the number of insertions, the time to enlarge the array has little effect on the total time. |
|
|
Term
| Where are new elements added in a Queue? |
|
Definition
|
|
Term
| Where are elements removed from a Queue? |
|
Definition
|
|
Term
| What is the principle difference in behavior between a stack and a queue? |
|
Definition
| A stack reverses order, while a queue preserves order. |
|
|
Term
|
Definition
| A queue operation in which an element is removed from the front of the queue |
|
|
Term
|
Definition
| A queue operation that adds an element to the end of the queue |
|
|
Term
|
Definition
| first in first out. a description of a collection in which the first element added will be the first removed. |
|
|
Term
|
Definition
| A linear collection whose elements are added on one end and removed from the other |
|
|
Term
| What is the difference between a queue and a stack? |
|
Definition
| A queue is a FIFO collection while a stack is a LIFO colleciton |
|
|
Term
| What are the 4 basic operations on a queue? |
|
Definition
| enqueue, dequeue, first, isEmpty |
|
|
Term
Given the following queue X:
X.enqueue(new Integer(4));
X.enqueue(new Integer(1));
Object Y = X.dequeue();
X.enqueue(new Integer(8));
X.enqueue(new Integer(2));
X.enqueue(new Integer(5));
X.enqueue(new Integer(3)); Object Y = X.dequeue();
X.enqueue(new Integer(4));
X.enqueue(new Integer(9));
What would be the result of the following?
X.first();
|
|
Definition
|
|
Term
Given the following queue X:
X.enqueue(new Integer(4));
X.enqueue(new Integer(1));
Object Y = X.dequeue();
X.enqueue(new Integer(8));
X.enqueue(new Integer(2));
X.enqueue(new Integer(5));
X.enqueue(new Integer(3)); Object Y = X.dequeue();
X.enqueue(new Integer(4));
X.enqueue(new Integer(9));
What would be the result of the following?
Y = X.dequeue(); X.first();
|
|
Definition
|
|
Term
| What is the cost of the enqueue() operation? |
|
Definition
|
|
Term
| What is the cost of the dequeue() operation? |
|
Definition
|
|
Term
| What 2 types of pointers are used in queues? |
|
Definition
| head pointer and tail pointer |
|
|
Term
|
Definition
| Direct access to first object in the list |
|
|
Term
|
Definition
| direct access to the last object in the list |
|
|
Term
| Where are new elements added to stacks? |
|
Definition
|
|
Term
| Where are elements removed from a stack? |
|
Definition
|
|
Term
|
Definition
| A collection in which items with higher priority go first, and items with the same priority are ordered in accordance with the FIFO principal |
|
|
Term
| What is the cost of the push() operation for a stack? |
|
Definition
|
|
Term
| What is the cost of the pop() operation for a stack? |
|
Definition
|
|
Term
| What type of pointer does a stack use? |
|
Definition
|
|
Term
| When would you use a stack instead of a queue? |
|
Definition
| When all the objects are the same |
|
|
Term
|
Definition
| An object that defines an unusual or erroneous situation |
|
|
Term
|
Definition
|
|
Term
|
Definition
| A stack operation in which an element is removed from the top of a stack |
|
|
Term
|
Definition
| A stack operation in which an element is added to the top of a stack |
|
|
Term
|
Definition
| A linear collection whose elements are added and removed from the same end in a LIFO manner |
|
|
Term
| What is the characteristic behavior of a stack? |
|
Definition
| A stack is a LIFO structure |
|
|
Term
| What are the 5 basic operations of a stack? |
|
Definition
| push, pop, peek, isEmpty, size |
|
|
Term
Given the following operation for an initially empty stack X:
X.push(new Integer(4));
X.push(new Integer(3));
Integer Y = X.pop();
X.push(new Integer(13));
X.push(new Integer(22));
X.push(new Integer(15));
X.push(new Integer(7));
Integer Y = X.pop();
X.push(new Integer(9));
X.push(new Integer(5));
Given the resulting stack, what would be the result of the following?
Y = X.peek(); |
|
Definition
|
|
Term
Given the following operation for an initially empty stack X:
X.push(new Integer(4));
X.push(new Integer(3));
Integer Y = X.pop();
X.push(new Integer(13));
X.push(new Integer(22));
X.push(new Integer(15));
X.push(new Integer(7));
Integer Y = X.pop();
X.push(new Integer(9));
X.push(new Integer(5));
Given the resulting stack, what would be the result of the following?
Y = X.pop(); Z = X.peek(); |
|
Definition
|
|
Term
|
Definition
| A stack of activation records used to keep track of method interactions during program execution |
|
|
Term
| What are the advantages of using the java.util.Stack implementation of a stack? |
|
Definition
| Because this implementation is an extension of the Vector class, it can keep track of the positions of elements in the stack with an index, so it doesn't need each node to store an additional pointer. |
|
|
Term
| What do the LinkedStack<T> and ArrayStack<T> classes have in common? |
|
Definition
| Both classes implement the StackADT interface, so both represent a stack collection, providing the necessary operations to use a stack. |
|
|
Term
| What is the potential problem with the java.util.Stack implementation? |
|
Definition
| This implementation is an extension of the Vector class, so it inherits a large number of operations that violate the basic assumptions of a stack |
|
|
Term
| How is a linked list constructed? |
|
Definition
| each element holds a reference to the next element in the list. The linked list class holds a reference to the first element. |
|
|
Term
|
Definition
| A linked list in which each node has references to both the next node and the previous node in the list |
|
|
Term
|
Definition
| A linked structure in which one object refers to the next, creating a linear ordering |
|
|
Term
|
Definition
| A data structure that uses object variables to create links between objects |
|
|
Term
| What special case exists when managing linked lists? |
|
Definition
| A special reference variable is maintained that specifies the first element in the list. If that element is deleted, or if a new element is added in front of it, the front reference must be carefully maintained. |
|
|
Term
| Why should a linked list node be separate from the element on the list? |
|
Definition
| Every object that we may want to put in a collection may not be designed to cooperate with the collection implementation. |
|
|
Term
| What is the difference between a doubly linked list and a singly linked list? |
|
Definition
| A singly linked list maintains a reference to the first element in a list and a next reference from each node to the following node, while a doubly linked list maintains two references: front and rear. |
|
|