LinkedLists
Stacks
Trees & recursion
Big - O
Wild Card
100

Nodes are connected to each other using this reference

What is next / next node

100

A stack can be built using these two data structures

what are arrays and linked lists

100

These are the two steps of a recursive method

The base case and the recursive case

100

These are the best and worst time efficiencies

What are O(1) and O(n!)

100

All deque operations have this efficiency

What is O(1)

200

Doubly linked lists are different than singly linked lists in that they have this reference

What is previous / previous node

200

These are the 4 main methods of a stack and a queue (use the appropriate names for each)

Stack: what are push(), pop(), peek(), isEmpty()


Queue: what are offer(), poll(), peek(), element()

200

A binary search tree is different than a general tree in that it is limited to this many of these for each entry

What are two subnodes
200

These data structures have O(n) search, O(1) insertion, and O(1) deletion

Stack, Queue, Singly Linked List, Doubly Linked List
200
This type of data structure can be used to represent:


(5 * 4) + (3 * Z) / (shrimp + ( 12 / ( 14 * ∆ ) ) )

what is an expression tree

300

A node stores data using this data type

What is generic

300

The only stack method that doesn't return an item

what is peek()

300

This kind of tree must be a perfect tree, but this kind may not be one.

What are full and complete trees

300

This is the best and worst case efficiency of a binary search 

What are O(log n) and O(n)

300

Binary tree is implemented differently than all other data structures because its methods are this

what is recursive

400
An arraylist is different than a linked list in that it requires this method

what is reallocate()

400

A stack is this while a queue is this

what are LIFO (last-in, first-out) and FIFO (first-in, first-out) 

400

An expression tree must use this type of traversal

What is inorder traversal

400

Rank the following Big-O efficiencies: O(n^2), O(n log n), O(1), O(n!), O(log n), O(n!), O(2^n) from least to most efficient.

What is O(n!), O(2^n), O(n^2), O(n log n), O(n), O(log n), O(1)

400

What data structures are best suited for a revolving sushi bar, a barrel of monkeys game, an ancestry diagram, and a bar bell?

revolving sushi bar: circular array/queue

barrel of monkeys game: singly linked list

ancestry diagram: doubly linked list

barbell: stack

500

Insertion at the beginning, removal from the middle, and adding to the very end of a doubly linked list have these efficiencies (list 3 big-O's)

What are O(1), O(n), O(1) 

BUT traditionally we only add or remove at the beginning / end

500
The difference between a queue and a deque is that the latter is this

what is double ended

500

List the order of root, left, and right for each tree traversal

preorder: root, left, right

inorder: left, root, right

postorder: left, right, root 

hint: look at where root is

500

What are the efficiencies of recursive fibonacci and recursive factorial?

What are O(2^n) and O(n)

Hint: how many operations do we recurse through each time

500

Given the front of a circular queue "f" and its capacity "c", what is the missing line in its reallocate() method's for loop:

for (int i = 0; i < size; i++) {

     newData[i] = oldData[i];

     // what goes here?

}



what is f = (f + 1) % c;