0% found this document useful (0 votes)
6 views9 pages

Analysis of Algorithms

Uploaded by

Rosy Maanasa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views9 pages

Analysis of Algorithms

Uploaded by

Rosy Maanasa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Time-Space-Complexity of algorithms Himanshu Mahuri

SAVE AND SHARE

Topics-
➢ Arrays(time-space-complexity)
➢ Strings(time-space-complexity)
➢ Linked-List(time-space-complexity)
➢ Stack & Queue(time-space-complexity)
➢ Trees(time-space-complexity)
➢ Graph(time-space-complexity)
➢ Heaps(time-space-complexity)
➢ Maps(time-space-complexity)

HIMANSHU MAHURI(LINKEDIN)

https://www.linkedin.com/in/himanshukumarmahuri

pg. 1
Time-Space-Complexity of algorithms Himanshu Mahuri

TIME Worst Case Scenario Average Case Best Case Scenario


COMPLEXITY Scenario

Accessing an O(1) O(1) O(1)


element

Updating an O(1) O(1) O(1)


element

Deleting an O(n) O(n) O(1)


element

Inserting an O(n) O(n) O(1)


element

Searching for O(n) O(n) O(1)


an element

ALGORITHM Time Complexity Space


COMPLEXITY
Complexity
Worst Case Average Case Best Case

Quicksort O(n2) O(n log(n)) O(n log(n)) O(log(n))

Mergesort O(n log(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(n2) O(n2) O(n) O(1)

Insertion Sort O(n2) O(n2) O(n) O(1)

Selection Sort O(n2) O(n2) O(n2) O(1)

Binary Search O(log(n)) O(log(n)) O(1) O(1)

Linear Search O(n) O(n) O(1) O(1)

pg. 2
Time-Space-Complexity of algorithms Himanshu Mahuri

TIME Worst Case Average Best Case Scenario


Scenario Case
COMPLEXITY Scenario
Accessing O(1) O(1) O(1)
Deleting O(n) O(n) O(1)
Inserting O(n) O(n) O(1)
Searching O(n * m) O(n) O(1)
(n = string
length m =
pattern length)
Slicing O(n) O(n) O(n)
(n = string length)
Concatenating O(n + m) O(n + m) O(n)
(n, m = string lengths)
Comparison O(n) O(n) O(n)
(n = shorter string
length)
Inserting (Trie) O(m) O(m) O(1)
(m = key
length)
Searching O(m) O(m) O(1)
(Trie)(m = key
length)

ALGORITHM Time Complexity Space


Complexity
COMPLEXITY Worst Case Average Best Case
Case

Radix sort O(n * m) O(n * m) O(n * m) O(n + m)


(m = longest string length)

Naive string O(m*(n-m+1)) O(n * m) O(n) O(1)


search(m = size of
pattern)
Knuth-Morris-Pratt search O(m + n) O(n) O(n) O(m)

Boyer-Moore string O(n * m) O(n) O(n/m) O(m)


search

Rubin-Karp Algorithm O(m*(n-m+1)) O(n + m) O(m) O(m)

pg. 3
Time-Space-Complexity of algorithms Himanshu Mahuri

TIME Worst Case Scenario Average Case Scenario Best Case Scenario
COMPLEXITY

Accessing O(n) O(n) O(1)

Deleting O(1) O(1) O(1)


(after search)

Inserting O(1) O(1) O(1)


(after search)

Searching O(n) O(n) O(1)

Traversing O(n) O(n) O(n)

Access (Skip List) O(n) O(log n) O(log n)

Delete (Skip List) O(n) O(log n) O(log n)

Insert (Skip List) O(n) O(log n) O(log n)

Search (Skip List) O(n) O(log n) O(log n)

ALGORITHM Time Complexity Space Complexity


COMPLEXITY
Worst Case Average Case Best Case

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

Bubble Sort O(n²) O(n²) O(n) O(1)

Selection Sort O(n²) O(n²) O(n²) O(1)

Insertion Sort O(n²) O(n²) O(n) O(1)

Linear Search O(n) O(n) O(1) O(1)

pg. 4
Time-Space-Complexity of algorithms Himanshu Mahuri

TIME Worst Case Average Best Case


Scenario Case Scenario
COMPLEXITY Scenario

Delete (Stack) O(1) O(1) O(1)

Insert (Stack) O(1) O(1) O(1)

Search (Stack) O(n) O(n) O(1)

Peek/Top (Stack) O(1) O(1) O(1)

Delete (Queue) O(1) O(1) O(1)

Insert (Queue) O(1) O(1) O(1)

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

ALGORITHM Time Complexity Space


COMPLEXITY
Complexity

Worst Case Average Case Best Case

Linear Search O(n) O(n) O(1) O(1)

pg. 5
Time-Space-Complexity of algorithms Himanshu Mahuri

TIME COMPLEXITY Worst Case Average Case Best Case


Scenario Scenario Scenario

Binary Search Delete O(n) O(log n) O(log n)


Tree,
Cartesian Tree,
KD Tree Insert O(n) O(log n) O(log n)

Search O(n) O(log n) O(log n)

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


Red-Black Tree,
Splay Tree,
AVL Tree Insert O(log n) O(log n) O(log n)

Search O(log n) O(log n) O(log n)

Traversal O(n) O(n) O(n)

ALGORITHM Time Complexity Space


Complexity
COMPLEXITY Worst Case Average
Case
Best Case

Depth-First Search O(n) O(n) O(n) O(n)


(In-order, pre-order, and
post-order traversal)

Breadth-First Search O(n) O(n) O(n) O(n)


(Level-order traversal)

Tree Sort O(n2) O(n log n) O(n log n) O(n)

Splaysort O(n log n) O(n log n) O(n) O(n)

Cartesian Tree Sort O(n log n) O(n log n) O(n) O(n)

pg. 6
Time-Space-Complexity of algorithms Himanshu Mahuri

TIME COMPLEXITY Worst Case Average Case Best Case


Scenario Scenario Scenario

Insert Vertex Adjacency List O(1) O(1) O(1)

Adjacency Matrix O(V2) O(V2) O(V2)

Incidence Matrix O(V*E) O(V*E) O(V*E)

Remove Vertex Adjacency List O(E) O(E) O(E)

Adjacency Matrix O(V2) O(V2) O(V2)

Incidence Matrix O(V*E) O(V*E) O(V*E)

Insert Edge Adjacency List O(1) O(1) O(1)

Adjacency Matrix O(1) O(1) O(1)

Incidence Matrix O(V*E) O(V*E) O(V*E)

Remove Edge Adjacency List O(V) O(V) O(V)

Adjacency Matrix O(1) O(1) O(1)

Incidence Matrix O(V*E) O(V*E) O(V*E)

Check if Adjacency List O(V) O(V) O(V)


Vertices
Adjacent Adjacency Matrix O(1) O(1) O(1)

Incidence Matrix O(E) O(E) O(E)

ALGORITHM Time Complexity Space Complexity


COMPLEXITY Worst Case Average Best Case
Case

Breadth-First Search O(V+E) O(V+E) O(V+E) O(V)

Depth-First Search O(V+E) O(V+E) O(V+E) O(V)

A* Search O(E) O(E) O(E) O(V)

Dijkstra’s algorithm O(V2) O(E * log(V)) O(E * log(V)) O(V)

Floyd–Warshall O(V3) O(V3) O(V3) O(V2)

pg. 7
Time-Space-Complexity of algorithms Himanshu Mahuri

TIME Worst Case Average Best Case


Scenario Case Scenario
COMPLEXITY Scenario
Insert O(log n) O(logn) O(1)

Delete O(log n) O(log n) O(1)

Find min/max O(1) O(1) O(1)

Search O(n) O(n) O(1)

Insert O(log n) O(1) O(1)


(Fibonacci/Binomial)

Increase/Decrease O(log n) O(log n) O(1)


key

Extract min/max O(log n) O(log n) O(log n)

ALGORITHM Time Complexity Space


Complexit
COMPLEXITY y
Worst Case Average Best Case
Case
Heapsort O(n log(n)) O(n log(n)) O(n log(n)) O(1)

Smoothsort O(n log(n)) O(n log(n)) O(n) O(n)

Quick select O(n2) O(n) O(n) O(1)

Linear Search O(n) O(n) O(1) O(1)

Dijkstra’s O(V2) O(E * log(V)) O(E * log(V)) O(V)


shortestpath

pg. 8
Time-Space-Complexity of algorithms Himanshu Mahuri

TIME Worst Case Average Best Case Scenario


Scenario Case
COMPLEXITY Scenario
Updating an element O(n) O(1) O(1)

Inserting an element O(n) O(1) O(1)

Deleting an element O(n) O(1) O(1)

Searching for an O(n) O(1) O(1)


element

Insert (TreeMap) O(log n) O(log n) O(1)

Delete (TreeMap) O(log n) O(log n) O(1)

Search (TreeMap) O(log n) O(log n) O(1)

ALGORITHM Time Complexity Space


COMPLEXITY
Complexity
Worst Case Average Case Best Case

Bucket Sort O(n2) O(n + k) O(n + k) O(n)


(k = buckets)

Insertion Sort O(n2) O(n2) O(n) O(1)

Selection Sort O(n2) O(n2) O(n2) O(1)

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

Hash-based Search O(n) O(1) O(1) O(1)

Binary Search O(log(n)) O(log(n)) O(1) O(1)

Linear Search O(n) O(n) O(1) O(1)

Rabin-Karp Algorithm O(m*(n-m+1)) O(n + m) O(m) O(m)

pg. 9

You might also like