• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/34

Click to flip

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