Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Algorithms Big-O Cheat Sheet, Cheat Sheet of Advanced Algorithms

Complexity cheat sheet for algorithms on data structures, sorting, heap and graphs.

Typology: Cheat Sheet

2020/2021
On special offer
30 Points
Discount

Limited-time offer


Uploaded on 04/27/2021

ekavir
ekavir 🇺🇸

4.3

(31)

257 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Big-O Complexity Chart
Excellent Go od Fair Bad Horrible
O(1), O(log n)
O(n)
O(n log n)
O(n^2)
O(2^n)O(n!)
Operations
Elements
Common Data Structure Operations
Data Structure Time Complexi ty Space
Complexity
Average Worst Worst
Access Search Insertion Dele tion Acces s Search Insertion Deletion
Array O(1) O(n) O(n) O(n) O (1) O(n) O(n) O(n) O(n )
Stack O(n) O(n) O(1) O(1 ) O(n) O(n) O(1) O(1) O (n)
Queue O(n) O(n) O(1) O(1) O(n) O (n) O(1) O(1) O(n)
Singly-Li nked List O(n) O(n) O(1) O(1) O (n) O(n) O(1) O(1) O(n)
Doubly-Lin ked List O(n) O(n) O(1) O(1) O (n) O(n) O(1) O(1) O(n)
Skip List O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n) O(n) O(n) O(n ) O(n log(n))
Hash Table N/A O(1) O(1) O(1) N/A O(n) O(n) O(n ) O(n)
Binary Search Tree O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n) O(n) O(n) O(n) O (n)
Cartesian Tree N/A O(log(n)) O(log(n)) O(log(n)) N/A O(n) O(n) O(n) O (n)
B-Tree O(log(n)) O(log(n)) O(log (n)) O(log(n)) O(log(n)) O(log (n)) O(log(n)) O(log(n)) O(n)
Red-Black Tree O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log (n)) O(log(n)) O(log(n)) O(n)
Splay Tree N/A O(log (n)) O(log(n)) O(log(n)) N/A O(log(n)) O(log(n)) O(log(n )) O(n)
AVL Tree O(log(n)) O(log(n)) O(log (n)) O(log(n)) O(log(n)) O(log (n)) O(log(n)) O(log(n)) O(n)
KD Tree O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n) O(n) O (n) O(n) O(n)
Array Sorting Algorithms
Algorithm Time Complexi ty Space Complexi ty
Best Average Worst Worst
Quicksort O(n log(n )) O(n log (n)) O(n^2) O(log (n))
Mergesort O(n log(n)) O(n log(n)) O(n log(n)) O(n)
Timsort O(n) O(n log(n)) O (n log(n)) O(n)
Heapsort O(n log (n)) O(n log(n)) O (n log(n)) O(1)
Bubble Sort O(n) O(n^2) O(n ^2) O(1)
Insertion Sort O(n) O(n^2) O (n^2) O(1)
Selection Sort O(n ^2) O(n^2 ) O(n^2) O(1)
Tree Sort O(n log(n)) O(n log(n)) O(n^2) O(n)
Shell Sort
pf2
Discount

On special offer

Partial preview of the text

Download Algorithms Big-O Cheat Sheet and more Cheat Sheet Advanced Algorithms in PDF only on Docsity!

Big-O Complexity Chart

Excellent Good Fair Bad Horrible

O(1), O(log n)

O(n)

O(n log n)

O(n!)O(2^n) O(n^2)

Operations

Elements

Common Data Structure Operations

Data Structure Time Complexity SpaceComplexity

Average Worst Worst

Access Search Insertion Deletion Access Search Insertion Deletion

Array O(1) O(n) O(n) O(n) O(1) O(n) O(n) O(n) O(n)

Stack O(n)^ O(n)^ O(1)^ O(1)^ O(n)^ O(n)^ O(1)^ O(1)^ O(n)

Queue O(n) O(n) O(1) O(1) O(n) O(n) O(1) O(1) O(n)

Singly-Linked List O(n)^ O(n)^ O(1)^ O(1)^ O(n)^ O(n)^ O(1)^ O(1)^ O(n)

Doubly-Linked List O(n) O(n) O(1) O(1) O(n) O(n) O(1) O(1) O(n)

Skip List O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(n)^ O(n)^ O(n)^ O(n)^ O(n log(n))

Hash Table N/A^ O(1)^ O(1)^ O(1)^ N/A^ O(n)^ O(n)^ O(n)^ O(n)

Binary Search Tree O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n) O(n) O(n) O(n) O(n)

Cartesian Tree N/A^ O(log(n))^ O(log(n))^ O(log(n))^ N/A^ O(n)^ O(n)^ O(n)^ O(n)

B-Tree O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(n)

Red-Black Tree O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(n)

Splay Tree N/A O(log(n)) O(log(n)) O(log(n)) N/A O(log(n)) O(log(n)) O(log(n)) O(n)

AVL Tree O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(n)

KD Tree O(log(n))^ O(log(n))^ O(log(n))^ O(log(n))^ O(n)^ O(n)^ O(n)^ O(n)^ O(n)

Array Sorting Algorithms

Algorithm Time Complexity Space Complexity

Best Average Worst Worst

Quicksort O(n log(n))^ O(n log(n))^ O(n^2)^ O(log(n))

Mergesort O(n log(n)) O(n log(n)) O(n log(n)) O(n)

Timsort O(n)^ O(n log(n))^ O(n log(n))^ O(n)

Heapsort O(n log(n)) O(n log(n)) O(n log(n)) O(1)

Bubble Sort O(n)^ O(n^2)^ O(n^2)^ O(1)

Insertion Sort O(n) O(n^2) O(n^2) O(1)

Selection Sort O(n^2) O(n^2) O(n^2) O(1)

Tree Sort O(n log(n))^ O(n log(n))^ O(n^2)^ O(n)

Shell Sort

Shell Sort O(n log(n)) O(n(log(n))^2) O(n(log(n))^2) O(1)

Bucket Sort O(n+k)^ O(n+k)^ O(n^2)^ O(n)

Radix Sort O(nk) O(nk) O(nk) O(n+k)

Counting Sort O(n+k)^ O(n+k)^ O(n+k)^ O(k)

Cubesort O(n)^ O(n log(n))^ O(n log(n))^ O(n)

Graph Data Structure Operations

Data Structure Time Complexity

Storage Add Vertex Add Edge Remove Vertex Remove Edge Query

Adjacency list O(|V|+|E|)^ O(1)^ O(1)^ O(|V| + |E|)^ O(|E|)^ O(|V|)

Incidence list O(|V|+|E|) O(1) O(1) O(|E|) O(|E|) O(|E|)

Adjacency matrix O(|V|^2)^ O(|V|^2)^ O(1)^ O(|V|^2)^ O(1)^ O(1)

Incidence matrix O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|V| ⋅ |E|) O(|E|)

Heap Data Structure Operations

Data Structure Time Complexity

Find Max Extract Max Increase Key Insert Delete Merge

Binary Heap O(1) O(log(n)) O(log(n)) O(log(n)) O(log(n)) O(m+n)

Pairing Heap O(1)^ O(log(n))^ O(log(n))^ O(1)^ O(log(n))^ O(1)

Binomial Heap O(1) O(log(n)) O(log(n)) O(1) O(log(n)) O(log(n))

Fibonacci Heap O(1) O(log(n)) O(1) O(1) O(log(n)) O(1)

Graph Algorithms

Algorithm Time Complexity Space Complexity

Average Worst Worst

Dijkstra's algorithm O(|E| log |V|) O(|V|^2) O(|V| + |E|)

A* search algorithm O(|E|)^ O(b^d)^ O(b^d)

Prim's algorithm O(|E| log |V|) O(|V|^2) O(|V| + |E|)

Bellman–Ford algorithm O(|E|^ ⋅^ |V|)^ O(|E|^ ⋅^ |V|)^ O(|V|)

Floyd-Warshall algorithm O(|V|^3) O(|V|^3) O(|V|^2)

Topological sort O(|V| + |E|)^ O(|V| + |E|)^ O(|V| + |E|)