You are on page 1of 2

Binary search, a better way to search

Running time and Big O notation


Algorithm running times grow at different rates, Visualizing different Big O
run times
Big O establishes a worst-case run time
Selection sort
How memory works  22
Arrays and linked lists  24
Linked lists, Arrays terminology
Recursion
Base case and recursive case
The stack and the call stack
The call stack with recursion

Quicksort: Divide & conquer


Quicksort
Big O notation revisited: Average case vs. worst case
Big O notation revisited: Merge sort vs. quicksort
Hash tables and Hash functions
Using hash tables for lookups
Preventing duplicate entries
Using hash tables as a cache
Hash tables: Performance
Hash tables: Load factor
A good hash function

Introduction to graphs
What is a graph?
Breadth-first search
Implementing the graph
Implementing the algorithm
Working with Dijkstra’s algorithm
Dijkstra’s algorithm: Terminology
Dijkstra’s algorithm: Negative-weight edges
Trees
The Fourier transform
Parallel algorithms
The map function and the reduce function

You might also like