@@ -215,28 +215,28 @@ Below is the list of some of the most used Big O notations and their performance
215
215
216
216
### Data Structure Operations Complexity
217
217
218
- | Data Structure | Access | Search | Insertion | Deletion | Comments |
219
- | ----------------------- | :--------- : | :--------- : | :--------- : | :-- -------: | :-------- |
220
- | ** Array** | ` 1 ` | ` n ` | ` n ` | ` n ` | |
221
- | ** Stack** | ` n ` | ` n ` | ` 1 ` | ` 1 ` | |
222
- | ** Queue** | ` n ` | ` n ` | ` 1 ` | ` 1 ` | |
223
- | ** Linked List** | ` n ` | ` n ` | ` 1 ` | ` 1 ` | |
224
- | ** Hash Table** | - | ` n ` | ` n ` | ` n ` | In case of perfect hash function costs would be ` O(1) ` |
225
- | ** Binary Search Tree** | ` n ` | ` n ` | ` n ` | ` n ` | In case of balanced tree costs would be ` O(log(n)) ` |
226
- | ** B-Tree** | ` log(n) ` | ` log(n) ` | ` log(n) ` | ` log(n) ` | |
227
- | ** Red-Black Tree** | ` log(n) ` | ` log(n) ` | ` log(n) ` | ` log(n) ` | |
228
- | ** AVL Tree** | ` log(n) ` | ` log(n) ` | ` log(n) ` | ` log(n) ` | |
218
+ | Data Structure | Access | Search | Insertion | Deletion | Comments |
219
+ | ----------------------- | :-------: | :-------: | :-------: | :-------: | :-------- |
220
+ | ** Array** | 1 | n | n | n | |
221
+ | ** Stack** | n | n | 1 | 1 | |
222
+ | ** Queue** | n | n | 1 | 1 | |
223
+ | ** Linked List** | n | n | 1 | 1 | |
224
+ | ** Hash Table** | - | n | n | n | In case of perfect hash function costs would be O(1) |
225
+ | ** Binary Search Tree** | n | n | n | n | In case of balanced tree costs would be O(log(n)) |
226
+ | ** B-Tree** | log(n) | log(n) | log(n) | log(n) | |
227
+ | ** Red-Black Tree** | log(n) | log(n) | log(n) | log(n) | |
228
+ | ** AVL Tree** | log(n) | log(n) | log(n) | log(n) | |
229
229
230
230
### Array Sorting Algorithms Complexity
231
231
232
- | Name | Best | Average | Worst | Memory | Stable | Comments |
233
- | --------------------- | :--------- : | :--------- : | :------------- : | :-- -------: | :-------: | :-------- |
234
- | ** Bubble sort** | ` n ` | ` n^2 ` | ` n^2 ` | ` 1 ` | Yes | |
235
- | ** Insertion sort** | ` n ` | ` n^2 ` | ` n^2 ` | ` 1 ` | Yes | |
236
- | ** Selection sort** | ` n^2 ` | ` n^2 ` | ` n^2 ` | ` 1 ` | No | |
237
- | ** Heap sort** | ` n log(n) ` | ` n log(n) ` | ` n log(n) ` | ` 1 ` | No | |
238
- | ** Merge sort** | ` n log(n) ` | ` n log(n) ` | ` n log(n) ` | ` n ` | Yes | |
239
- | ** Quick sort** | ` n log(n) ` | ` n log(n) ` | ` n ` <sup >` 2 ` </sup > | ` log(n) ` | No | |
240
- | ** Shell sort** | ` n log(n) ` | depends on gap sequence | ` n (log(n)) ` <sup >` 2 ` </sup > | ` 1 ` | No | |
241
- | ** Counting sort** | ` n + r ` | ` n + r ` | ` n + r ` | ` n + r ` | Yes | ` r ` - biggest number in array |
242
- | ** Radix sort** | ` n * k ` | ` n * k ` | ` n * k ` | ` n + k ` | Yes | ` k ` - length of longest key |
232
+ | Name | Best | Average | Worst | Memory | Stable | Comments |
233
+ | --------------------- | :-------: | :-------: | :-----------: | :-------: | :-------: | :-------- |
234
+ | ** Bubble sort** | n | n< sup >2</ sup > | n< sup >2</ sup > | 1 | Yes | |
235
+ | ** Insertion sort** | n | n< sup >2</ sup > | n< sup >2</ sup > | 1 | Yes | |
236
+ | ** Selection sort** | n< sup >2</ sup > | n< sup >2</ sup > | n< sup >2</ sup > | 1 | No | |
237
+ | ** Heap sort** | n log(n) | n log(n) | n log(n) | 1 | No | |
238
+ | ** Merge sort** | n log(n) | n log(n) | n log(n) | n | Yes | |
239
+ | ** Quick sort** | n log(n) | n log(n) | n <sup >2 </sup > | log(n) | No | |
240
+ | ** Shell sort** | n log(n) | depends on gap sequence | n (log(n))<sup >2 </sup > | 1 | No | |
241
+ | ** Counting sort** | n + r | n + r | n + r | n + r | Yes | r - biggest number in array |
242
+ | ** Radix sort** | n * k | n * k | n * k | n + k | Yes | k - length of longest key |
0 commit comments