NO PREPAYMENT!

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.

from UAH 2,500 Term from 5 days

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,500

Graphs (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,500

Dynamic 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,500

Trees (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,500

Greedy 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,500

O(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,000

How we work

1

TK analysis

We study the methodology, define algorithms, programming language, requirements for visualization and analysis

2

Projecting

We describe algorithms with pseudocode, define data structures, design a visualization interface

3

Realization

We code algorithms, create visualization, conduct benchmarks, analyze complexity

4

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!"

Andriy V.
NTUU "KPI", Kyiv

"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!"

Kateryna M.
LNU named after Franka, Lviv

"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!"

Denis K.
Khnure, Kharkiv

Frequently asked questions about course algorithms

We implement algorithms in any language: C/C++ (most often for algorithmic problems due to memory and speed control), Python (convenient visualization through matplotlib, pygame), Java (a typical requirement of many universities), C# or JavaScript. For visualization, we use SFML, SDL, PyQt, JavaFX Canvas or D3.js for the web.

Yes, visualization is one of our strengths. We create step-by-step animation: sorting arrays with changing colors of elements, traversing graphs with vertices and edges highlighted, building and balancing trees in real time, filling dynamic programming tables. Each step is explained in text.

Necessarily. Each algorithm is accompanied by a full asymptotic analysis: time complexity (Big O, Omega, Theta) for the best, average and worst cases. Spatial complexity. Comparison tables, graphs of the dependence of the execution time on the size of the input data, built on real benchmarks.

The coursework includes: theoretical description (history, working principle, pseudocode), implementation in the selected language with comments, O(n) complexity analysis, comparison with alternatives, visualization or GUI application, testing on different data sets (random, sorted, reverse), explanatory note of 25-40 pages and presentation.

The standard term is from 5 to 10 days. Implementation of one algorithm with visualization — from 5 days. Comparative analysis of 4-6 algorithms with benchmarks and graphs — from 7 days. Difficult problems (traveler's problem, NP-complete problems) — from 10 days. Urgent delivery from 3 days for an additional fee.

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.