Professional Documents
Culture Documents
Good
Fair
Poor
DataStructures
DataStructure
Space
Complexity
TimeComplexity
Average
Indexing
Worst
Search
Worst
Insertion
Deletion
Indexing
Search
Insertion
Deletion
BasicArray(Array)
O(1)
O(n)
O(1)
O(n)
O(n)
DynamicArray(List<T>
andArrayList)
O(1)
O(n)
O(n)
O(n)
O(1)
O(n)
O(n)
O(n)
O(n)
SinglyLinkedList
O(n)
O(n)
O(1)
O(1)
O(n)
O(n)
O(1)
O(1)
O(n)
DoublyLinkedList
(LinkedList<T>)
O(n)
O(n)
O(1)
O(1)
O(n)
O(n)
O(1)
O(1)
O(n)
O(log(n))
O(log(n))
O(log(n))
O(log(n))
O(n)
O(n)
O(n)
O(n)
O(nlog(n))
O(1)
O(1)
O(1)
O(n)
O(n)
O(n)
O(n)
BinarySearchTree
(SortedDictionary<TKey,
TValue>)
O(log(n))
O(log(n))
O(log(n))
O(log(n))
O(n)
O(n)
O(n)
O(n)
O(n)
SortedArrayusingBinary
Search(SortedList<TKey,
TValue>)
O(log(n))
O(?)
O(1)
O(1)
O(log(n))
O(?)
O(n)
O(n)
O(?)
CartesianTree
O(log(n))
O(log(n))
O(log(n))
O(n)
O(n)
O(n)
O(n)
SplayTree
O(log(n))
O(log(n))
O(log(n))
O(log(n))
O(log(n))
O(log(n))
O(n)
RedBlackTree
(SortedSet<T>No
Duplicates)
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)
AVLTree
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)
BTree
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)
SkipList
HashTable(HashSet<T>
Dictionary<TKey,TValue>
andHashtable)
Searching
Algorithm
DataStructure
Space
Complexity
TimeComplexity
Average
Worst
Worst
DepthFirstSearch(DFS)
Graphof|V|verticesand|E|
edges
O(|E|+|V|)
O(|V|)
BreadthFirstSearch(BFS)
Graphof|V|verticesand|E|
edges
O(|E|+|V|)
O(|V|)
Sortedarrayofnelements
O(log(n))
O(log(n))
O(1)
Binarysearch(Array.BinarySearchor
List<T>.BinarySearch)
Linear(BruteForce)
Array
O(n)
O(n)
O(1)
ShortestpathbyDijkstra,
usingaMinheapaspriorityqueue
Graphwith|V|verticesand
|E|edges
O((|V|+|E|)
log|V|)
O((|V|+|E|)
log|V|)
O(|V|)
ShortestpathbyDijkstra,
usinganunsortedarrayaspriorityqueue
Graphwith|V|verticesand
|E|edges
O(|V|^2)
O(|V|^2)
O(|V|)
ShortestpathbyBellmanFord
Graphwith|V|verticesand
|E|edges
O(|V||E|)
O(|V||E|)
O(|V|)
Sorting
Data
Structure
Algorithm
Best
Quicksort(Array.SortandList<T>.Sortand
Enumerable.OrderBy<TSource,TKey>)
WorstCaseAuxiliary
SpaceComplexity
TimeComplexity
Average
Worst
Worst
Array
O(n
log(n))
O(n
log(n))
O(n^2)
O(n)
Array
O(n
log(n))
O(n
log(n))
O(n
log(n))
O(n)
Array
O(n
log(n))
O(n
log(n))
O(n
log(n))
O(1)
BubbleSort
Array
O(n)
O(n^2)
O(n^2)
O(1)
InsertionSort
Array
O(n)
O(n^2)
O(n^2)
O(1)
SelectSort
Array
O(n^2)
O(n^2)
O(n^2)
O(1)
BucketSort
Array
O(n+k)
O(n+k)
O(n^2)
O(nk)
RadixSort
Array
O(nk)
O(nk)
O(nk)
O(n+k)
Mergesort
Heapsort
Heaps
Heaps
TimeComplexity
Heapify
FindMax
ExtractMax
IncreaseKey
Insert
Delete
Merge
LinkedList(sorted)
O(1)
O(1)
O(n)
O(n)
O(1)
O(m+n)
LinkedList(unsorted)
O(n)
O(n)
O(1)
O(1)
O(1)
O(1)
O(n)
O(1)
O(log(n))
O(log(n))
O(log(n))
O(log(n))
O(m+n)
BinomialHeap
O(log(n))
O(log(n))
O(log(n))
O(log(n))
O(log(n))
O(log(n))
FibonacciHeap
O(1)
O(log(n))*
O(1)*
O(1)
O(log(n))*
O(1)
BinaryHeap
Graphs
Node/EdgeManagement
Storage
AddVertex
AddEdge
RemoveVertex
RemoveEdge
Query
Adjacencylist
O(|V|+|E|)
O(1)
O(1)
O(|V|+|E|)
O(|E|)
O(|V|)
Incidencelist
O(|V|+|E|)
O(1)
O(1)
O(|E|)
O(|E|)
O(|E|)
Adjacencymatrix
O(|V|^2)
O(|V|^2)
O(1)
O(|V|^2)
O(1)
O(1)
Incidencematrix
O(|V||E|)
O(|V||E|)
O(|V||E|)
O(|V||E|)
O(|V||E|)
O(|E|)
BigOComplexityChart