Collections
Sorting, Searching, also more collections
Threads, Networking, IO
Graphs
100

A list collection that supports fast iteration and insertion/removal on both ends

What is a linked list?

100

A sorting algorithm that splits a list into two using a pivot

What is quicksort?

100

This keyword is used to ensure that a block of code can only be run once at a time to prevent data loss or corruption.

What is synchronized?

100

The representation of a graph where each vertex stores a list or set of the other vertices it connects to

What is an adjacency list?

200

A data structure that keeps its elements sorted where elements can be inserted or removed in O(log n) time

What is a binary search tree?

200

The two methods that classes must override to work in a hash map/set

What are equals() and hashCode()?

200

This method is used to make a thread stop executing for the specified amount of time.

What is sleep()?

200

This algorithm for finding paths in an unweighted graph is implemented using a FIFO queue.

What is BFS (breadth-first search)?

300

A collection with nondeterministic ordering where items can be inserted in O(1) time (average case)

What is a hashset?

300

This hash set/map implementation resolves collisions by storing the value in the next unfilled slot

What is linear probing?

300

Each network connection (TCP or UDP) is uniquely identified by these two things.

What are an IP address and port?

300

This step in backtracking decreases the number of states you need to check in the future.

What is pruning?

400

Preorder, inorder, and postorder traversals of the following binary tree:

https://f.trimill.xyz/tree-1.png


What are:
EPQJXMV

QPJEMXV

QJPMVXE

400

The time complexities of the following algorithms, respectively:

Binary search, merge sort, selection sort, linear search

What are O(log n), O(n log n), O(n^2), and O(n)?

400

The first provides connection-oriented, reliable communication over a network, while the second is connectionless and makes no reliability guarantees.

What are TCP and UDP?

400

The order that vertices would be reached by performing recursive DFS on this graph:

https://f.trimill.xyz/graph-4.png

(start at the vertex labeled S, visit neighbors alphabetically)

What is S A C B D F G E?

500

The min-heap resulting from the following operations:
- Insert 5, 3, 4, 1, 6
- Extract min
- Extract min
- Insert 2, 7

What is [2, 4, 5, 6, 7]?

https://f.trimill.xyz/heap-1.png



500

The steps of performing insertion sort on the following list (show the list after each iteration):

9 1 6 4 3


What are:
1 9 6 4 3
1 6 9 4 3
1 4 6 9 3
1 3 4 6 9
?

500

This syntax can be used in Python to automatically close a file after opening it

what is "with open(...) as ..."

500

The next step of Dijkstra's algorithm in the following graph:

https://f.trimill.xyz/graph-3.png

(green vertices have been visited, blue ones have not)

What is visiting vertex D?

M
e
n
u