Sie sind auf Seite 1von 1

BIG-O COMPLEXITIES

OF COMMON ALGORITHMS USED IN COMPUTER SCIENCE


Data Structure Time Complexity Space Complexity
DATA Average Worst Worst
STRUCTURE Access Search Insertion Deletion Access Search Insertion Deletion
OPERATIONS 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)

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 (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (n) O (n) O (n) O (n) O (n lo g (n))

Hash Table – O (1) O (1) O (1) – O (n) O (n) O (n) O (n)

Binary Search Tree O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (n) O (n) O (n) O (n) O (n)

Cartesian Tree – O (l o g (n)) O (l o g (n)) O (l o g (n)) – O (n) O (n) O (n) O (n)

B-Tree O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (n)

Red-Black Tree O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (n)

Splay Tree – O (l o g (n)) O (l o g (n)) O (l o g (n)) – O (l o g (n)) O (l o g (n)) O (l o g (n)) O (n)

AVL Tree O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (n)

Algorithm Time Complexity Space Complexity


ARRAY Best Average Worst Worst
SORTING Quicksort O (n l o g (n)) O (n lo g (n)) O (n^2) O (l o g (n))
ALGORITHMS Mergesort O (n l o g (n)) O (n lo g (n)) O (n lo g (n)) O (n)
LEGEND
Timsort O (n) O (n lo g (n)) O (n lo g (n)) O (n)
E xce ll e nt
Heapsort O (n l o g (n)) O (n lo g (n)) O (n lo g (n)) O (1) G oo d
Bubble Sort O (n) O (n^2) O (n^2) O (1) Fa ir

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

H o rrib l e
Selection Sort O (n^2) O (n^2) O (n^2) O (1)

Shell Sort O (n) O ((nl o g (n))^2) O ((nl o g (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)

Node / Edge Management Storage Add Vertex Add Edge Remove Vertex Remove Edge Query
GRAPH
Adjacency list O (| V |+| E|) O (1) O (1) O (| V |+| E|) O (| E|) O (| V |)
OPERATIONS
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 Type Time Complexity


HEAP Heapify Find Max Extract Max Increase Key Insert Delete Merge
OPERATIONS Linked List (sorted) – O (1) O (1) O (n) O (n) O (1) O (m+n)

Linked List (unsorted) – O (n) O (n) O (1) O (1) O (1) O (1)

Binary Heap O (n) O (1) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (l o g (n)) O (m+n)

Binomial Heap – O (1) O (l o g (n)) O (l o g (n)) O (1) O (l o g (n)) O (l o g (n))

Fibonacci Heap – O (1) O (l o g (n)) O (1) O (1) O (l o g (n)) O (1)

1000

BIG-O 900

COMPLEXITY
800

WWW.BIGOPOSTER.COM
O(1)
700

CHART
O(logn)
600
O(n)
Operations

© 2016 Roman Pushkin


500 O(nlogn)
O(n^2)
400
O(2^n)
300
O(n!)
200

100

0
0 10 20 30 40 50 60 70 80 90 100
Elements

Das könnte Ihnen auch gefallen