These algorithms are the demonstration purposes only. There are
many algorithms implementations in the C++ standard
library that are much better for performance reasons. This
project contains the following algorithms...
Name allocator |
Allocation |
Free |
Linear allocator |
O(1) |
- |
Pool allocator |
O(1) |
O(1) |
Name algorithm |
First in, first out (FIFO) |
Last recently used (LRU) |
Name algorithm |
Average result |
Worse result |
Bresenham's line |
- |
- |
Ramer-Douglas-Peucker |
O(n*log(n)) |
O(n^2) |
Scan-line method |
O(n*log(n)) |
O(n*log(n)) |
Name algorithm |
Caesar cipher |
Name structure |
Indexation |
Search |
Inserting |
Deleting |
Memory |
Binary Heap |
- |
- |
O(log(n)) |
O(log(n)) |
O(n) |
Binary Tree |
O(log(n)) |
O(log(n)) |
O(log(n)) |
O(log(n)) |
O(n) |
LinkedList |
O(n) |
O(n) |
O(1) |
O(1) |
O(n) |
Queue |
- |
- |
O(1) |
O(1) |
O(n) |
Stack |
- |
- |
O(1) |
O(1) |
O(n) |
Name algorithm |
Exchange of coins |
Fibonacci |
Name algorithm |
Depth-First Search (DFS) |
Breadth-First Search (BFS) |
Name algorithm |
Ping Pong |
Producer and consumer |
Name algorithm |
Data Structure |
Average result |
Worse result |
Binary search |
Sorted array |
O(log(n)) |
O(log(n)) |
Linear search |
Array |
O(n) |
O(n) |
Name algorithm |
Difference between the ordered sets |
Generation of all permutations from set |
Generation of all subsets of the set |
Intersection of the ordered sets |
Symmetric difference of ordered sets |
Union of the ordered sets |
Name pointer |
Auto smart pointer |
Unique smart pointer |
Shared smart pointer |
Name algorithm |
Data Structure |
Best result |
Average result |
Worse result |
Bubble sorting |
Array |
O(n) |
O(n^2) |
O(n^2) |
Bucket sorting |
Array |
O(n) |
O(n) |
O(n^2) |
Counting sorting |
Array |
O(n) |
O(n) |
O(n) |
Insertion sorting |
Array |
O(n^2) |
O(n^2) |
O(n^2) |
Merge sorting |
Array |
O(n*log(n)) |
O(n*log(n)) |
O(n*log(n)) |
Quick sorting |
Array |
O(n*log(n)) |
O(n*log(n)) |
O(n^2) |
Selection sorting |
Array |
O(n) |
O(n^2) |
O(n^2) |
Shell sorting |
Array |
O(n^2) |
O(n^2) |
O(n^2) |
Stupid sorting |
Array |
O(n) |
O(n^3) |
O(n^3) |
Name algorithm |
Euclidean algorithm |
Eratosthenes sieve |
Queens puzzle |
Maximum amound of subarrays |
Reversal of the forward list |
Tom Sawyer sence |
Other algorithms will be added later. Please follow the news.