Course work on algorithms
Sorting (Quick, Merge, Heap, Radix), Graphs (BFS, DFS, Dijkstra, A*), Trees (BST, AVL, Red-Black), Dynamic Programming, Greedy Algorithms and Complexity Analysis.
Directions of coursework on algorithms
From basic sorting algorithms to complex graph problems and dynamic programming. Each paper includes theory, implementation, complexity analysis, and visualization.
Sorting (Quick, Merge, Heap, Radix)
Implementation and comparison of sorting algorithms: QuickSort with selection of a reference element, MergeSort (recursive and iterative), HeapSort, RadixSort, CountingSort. Benchmarks on arrays from 10 to 10 million elements.
from UAH 2,500Graphs (BFS, DFS, Dijkstra, A*)
Traversal of graphs in width and depth, shortest path search (Dijkstra, Bellman-Ford, A*), minimal spanning tree (Prim, Kruskal), topological sorting, connectivity components.
from UAH 2,500Dynamic programming
Backpack problem (0/1 and unlimited), longest common subsequence (LCS), traveling salesman problem, number splitting, optimal matrix multiplication. Memoization and tabulation.
from UAH 2,500Trees (BST, AVL, Red-Black, B-tree)
Binary search trees, self-balancing trees (AVL with rotations, Red-Black), B-trees and B+-trees for indexing, prefix trees (Trie), segment trees (Segment Tree).
from UAH 2,500Greedy algorithms
Huffman algorithm for data compression, set covering problem, task scheduling with deadlines, coin exchange problem, fractal knapsack. Proof of the optimality of the greedy approach.
from UAH 2,500O(n) complexity analysis
Asymptotic analysis: Big O, Big Omega, Big Theta. Amortized analysis, Master Theorem. Comparison of algorithms by time and memory, construction of graphs depending on the size of input data.
from UAH 2,000How we work
TK analysis
We study the methodology, define algorithms, programming language, requirements for visualization and analysis
Projecting
We describe algorithms with pseudocode, define data structures, design a visualization interface
Realization
We code algorithms, create visualization, conduct benchmarks, analyze complexity
Demonstration
We show the operation of the algorithms on test data, you check and pay after confirmation
What is included in the algorithm course
- Theoretical description of algorithms and pseudocode
- Implementation in the chosen programming language with comments
- An analysis of the temporal and spatial complexity of Big O
- Visualization of algorithms (GUI or web)
- Comparison tables and graphs of benchmarks
- Testing on different data sets (best/average/worst case)
- Explanatory note and presentation for defense
- Free edits and defense preparation
Reviews of courses on algorithms
"Course on algorithms on graphs - implementation of Dijkstra and A* in C++ with visualization in SFML. Step-by-step animation of graph traversal, efficiency comparison. The teacher gave 95 points!"
"I ordered a course on dynamic programming in Python. A problem about a backpack, LCS, matrix multiplication. Visualization of DP tables in Tkinter, graphics in matplotlib. Everything was explained clearly!"
"Comparative analysis of sorting algorithms in Java: QuickSort, MergeSort, HeapSort, TimSort. Benchmarks on arrays up to 10 million elements, graphs O(n log n). Great work!"
Frequently asked questions about course algorithms
Do you need a course on algorithms?
Send a manual or TK - we will evaluate it for free. Payment only after demonstration of working algorithms.