Worst Case Time Complexity of Algorithms

Sawan Kumar JhaSawan Kumar Jha
2 min read

Data Structures:

  • Array: Access O(1), Search O(n), Insertion O(n), Deletion O(n)

  • Linked List: Access O(n), Search O(n), Insertion O(1), Deletion O(1)

  • Stack: Access O(n), Search O(n), Insertion O(1), Deletion O(1)

  • Queue: Access O(n), Search O(n), Insertion O(1), Deletion O(1)

  • Binary Search Tree: Access O(log n), Search O(log n), Insertion O(log n), Deletion O(log n)

  • Heap: Access O(1), Search O(n), Insertion O(log n), Deletion O(log n)

  • Hash Table: Access O(1), Search O(1), Insertion O(1), Deletion O(1)

Algorithms:

  • Linear Search: O(n)

  • Binary Search: O(log n)

  • Bubble Sort: O(n^2)

  • Selection Sort: O(n^2)

  • Insertion Sort: O(n^2)

  • Quick Sort: O(n log n) average case, O(n^2) worst case

  • Merge Sort: O(n log n)

  • Heap Sort: O(n log n)

  • Counting Sort: O(n + k), where k is the range of the input

  • Radix Sort: O(d(n+k)), where d is the number of digits in the maximum number and k is the range of the input

  • Breadth-First Search: O(V + E), where V is the number of vertices and E is the number of edges in the graph

  • Depth-First Search: O(V + E), where V is the number of vertices and E is the number of edges in the graph

  • Dijkstra's Algorithm: O((V+E) log V), where V is the number of vertices and E is the number of edges in the graph

  • Bellman-Ford Algorithm: O(VE), where V is the number of vertices and E is the number of edges in the graph

  • Floyd-Warshall Algorithm: O(V^3), where V is the number of vertices in the graph

Note that these time complexities represent the worst-case scenario, and actual running times may vary depending on factors such as input size and data distribution.

0
Subscribe to my newsletter

Read articles from Sawan Kumar Jha directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sawan Kumar Jha
Sawan Kumar Jha

Hi there, this is Sawan Kumar Jha a Tech Enthusiastic