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.