Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
34 Cards in this Set
- Front
- Back
Stack
|
A collection of objects that are inserted and removed according to the LIFO principle
|
|
Queue
|
A collection of objects that are inserted and removed according to the FIFO principle
|
|
Amortized Analysis
|
To answer the question, "If the algorithm is run several times, what is the average time per run, given the worst possible sequence of runs?"
|
|
Tree
|
An abstract data type that stores elements hierarchically
|
|
Binary Tree
|
An ordered tree whose nodes have at most two children
|
|
Proper Binary Tree
|
A binary tree with either zero or two children
|
|
Priority Queue
|
An abstract data type for storing a collection of elements that supports arbitrary element insertion but removal of elements is based on priority
|
|
Entry
|
A key-value pair
|
|
Heap
|
An efficient realization of a priority queue allowing insertion removal in logarithmic time
|
|
Complete Binary Tree
|
A binary tree in which every level except perhaps the last is full, and the nodes are as far left as possible
|
|
Map
|
A collection of key-value pairs, where each key is unique
|
|
Sentinel
|
Returned value when no key equal to k is found, many times null is used
|
|
Hash Table
|
Map implementation consisting of a bucket array and a hash function, good if you have an idea of maximum size
|
|
Hash Function
|
Maps each key k in our map to an integer
|
|
Collision
|
When two or more keys are mapped to the same hash value
|
|
Compression Function
|
Maps the hash code to an integer within range
|
|
(int) ((i >> 32) + (int) i)
|
Summing components hash code, best used for base types such as long and double
|
|
Polynomial Hash Codes
|
Hash code that takes order into consideration, avoiding "pots" vs "stop" collisions, and is used as the default Java Implementation for strings
|
|
Cyclic Shift Hash Code
|
Variant of Polynomial hash code, where a is replaced by a partial sum
|
|
i mod N
|
Division method compression function (integer i to size of bucket array N)
|
|
((ai+b) mod p) mod N
|
MAD compression function
|
|
Ordered Search Table
|
Map implementation that stores the map's entries in an array list in increasing order of keys, guaranteed worst time
|
|
Separate Chaining
|
Collision handling scheme where all entries hashed to i are stored together using a list based map
|
|
Linear Probing
|
Collision handling scheme where while bucket i is full, it is placed in the i+1 bucket
|
|
Search Tree
|
Trees that can be used to implement a map
|
|
Binary Search Tree
|
Binary tree where nodes in the left subtree are equal to k, and nodes in the right subtree are greater than k
|
|
AVL Tree
|
Binary tree for which the heights of the children of any internal node differ at most by 1
|
|
Quick Sort
|
A divide and conquer algorithm with the hard work, comparison, done in the divide stage. Easily done in-place
|
|
Spanning Sub-Graph
|
Sub-graph that contains all the vertices
|
|
Spanning Tree
|
Spanning sub-graph that is also a tree
|
|
Forest
|
Graph with no cycles
|
|
Connected Graph
|
Graph with all pairs of vertices connected by at least one path
|
|
Tree
|
A connected forest
|
|
Connected Component
|
The maximal connected sub-graph of a unconnected graph
|