Skip to content
Snippets Groups Projects
dem0091's avatar
dem0091 authored
b7332ae7
Name Last commit Last update
AlgorithmLibrary
AlgorithmLibrary.sln
README.md

Knihovna vybraných algoritmů typu "rozděl a panuj"

Knihovna vybraných algoritmů je nedílnou součástí bakalářské práce. Projekt přibližuje fungování převážně rekurzivních algoritmů. Na náhodně generovaných datech byla měřene doba běhu jednotlivých algoritmů a výsledky měření byly prezentovány v rámci závěrečné práce. Výsledky sloužili k propojení teoretického odhadu časové složitosti.

Algoritmy

Algoritmy jsou rozděleny do tří tříd: Mergesort, BinarySort, MatrixSort.
Součástí třídy Mergesort jsou dvě funkce algotimu mergesort: Sort a Merge.
Součástí třídy BinarySearch jsou čtyři algoritmy binárního třídění: indexPrvku, indexPrvkuFloat, indexPrvkuIterativni a nejvetsiPrvekneVetsiNezK
Součástí třídy MatrixSearch jsou algoritmy: saddleback, indexPrvku, indexyPrvku2D, binaryMatice, binaryMaticeVsechny
Poslední třída Utils obsahuje funkce potřebné k obsluze algoritmů.

Ukázka fungování algoritmů
Součástí projektu je také soubor Program.cs, který nabízí stručnou ukázku fungování algoritmů.

Ukázka testovacího kódu

Console.WriteLine("\nMATICOVÉ VYHLEDÁVÁNÍ\n");
int[][] matrix = Utils.GenerateRandomMatrix(5, 5, 10);

Utils.PrintMatrix(matrix);

int k = 7;

Tuple<int, int> result = MatrixSearch.Saddleback(matrix, k);
Console.WriteLine($"Saddleback: ({result.Item1}, {result.Item2})");

Instalace

Potřebné závislosti: Python 3, .NET

Klonování repozitáře:
git clone https://gitlab.vsb.cz/klara.nieslanikova.st/algorithmlibrary.git
cd algorithmlibrary

Autor
Klára Nieslaniková