Tato diplomová práce se zabývá řadícími algoritmy, jejich popisem, porovnáním a implementací.
V první části práce popisuji široké téma třídění a řadících algoritmů. Charakterizuji jejich principy, vlastnosti a provádím jejich analýzu.
Ve druhé části mé práce se zabývám implementací řadících algoritmů v jazyce C++ a popisuji tvorbu aplikace použité na testování řadicích algoritmů.. Na závěr této části algoritmy testuji a vyhodnocuji výsledky.
Annotation in English
This diploma thesis deals with sorting algorithms, their description, comparison and implementation.
In the first part of the thesis, I describe the wide theme of sorting and sorting algorithms. I characterize their principles, properties and analyze them.
In the second part, I deal with implementation of sorting algorithms in C++ language and describe a creation of the application used for testing of sorting algorithms. At the end of this part, I test the algorithms and evaluate the results.
Algorithm, complexity of algorithm, sorting, sorting algorithms, C++, wxWidgets
Length of the covering note
82 s., 4 s. příloh.
Language
CZ
Annotation
Tato diplomová práce se zabývá řadícími algoritmy, jejich popisem, porovnáním a implementací.
V první části práce popisuji široké téma třídění a řadících algoritmů. Charakterizuji jejich principy, vlastnosti a provádím jejich analýzu.
Ve druhé části mé práce se zabývám implementací řadících algoritmů v jazyce C++ a popisuji tvorbu aplikace použité na testování řadicích algoritmů.. Na závěr této části algoritmy testuji a vyhodnocuji výsledky.
Annotation in English
This diploma thesis deals with sorting algorithms, their description, comparison and implementation.
In the first part of the thesis, I describe the wide theme of sorting and sorting algorithms. I characterize their principles, properties and analyze them.
In the second part, I deal with implementation of sorting algorithms in C++ language and describe a creation of the application used for testing of sorting algorithms. At the end of this part, I test the algorithms and evaluate the results.
Algorithm, complexity of algorithm, sorting, sorting algorithms, C++, wxWidgets
Research Plan
Vytvořte literární rešerši na zadané téma.
Sezamte se s nejčastěji používanými třídícími algoritmy.
K těmto algoritmům proveďte podrobnou analýzu a na základě získaných informací je porovnejte z hlediska rychlosti, kvality a využití.
Vytvořte programovou knihovnu třídících algoritmů založenou na objektovém programování. K této knihovně posléze vytvořte funční aplikaci. V této aplikaci otestujte implementované třídicí algoritmy a výsledky porovnejte s informacemi získanými z jiných zdrojů.
K tvorbě knihovny i celé aplikace použijte programovací jazyk C/C++ a knihovnu WX Widgets.
K vytvořené knihovně vytvořte dokumentaci, která bude popisovat způsob implementace do jiných programů.
Research Plan
Vytvořte literární rešerši na zadané téma.
Sezamte se s nejčastěji používanými třídícími algoritmy.
K těmto algoritmům proveďte podrobnou analýzu a na základě získaných informací je porovnejte z hlediska rychlosti, kvality a využití.
Vytvořte programovou knihovnu třídících algoritmů založenou na objektovém programování. K této knihovně posléze vytvořte funční aplikaci. V této aplikaci otestujte implementované třídicí algoritmy a výsledky porovnejte s informacemi získanými z jiných zdrojů.
K tvorbě knihovny i celé aplikace použijte programovací jazyk C/C++ a knihovnu WX Widgets.
K vytvořené knihovně vytvořte dokumentaci, která bude popisovat způsob implementace do jiných programů.
Recommended resources
BLIŽňÁK, Michal. Systémové programování. Zlín : Univerzita Tomáše Bati, 2005. 202 s. ISBN 80-7318-364-1.
WROBLEWSKI, Piotr. Algoritmy - datové struktury a programovací techniky. 1. vyd. Brno : Computer Press, 2004. 351 s. ISBN 80-251-0343-9.
LIBERTY, Jesse. Naučte se C++ za 21 dní. Brno : Computer Press, 2007. 796 s. ISBN 978-80-251-1583-1.
PETZOLD, Charles. Programování ve Windows. 1. vyd. Praha : Computer Press, 1999. 1216 s. ISBN 80-7226-206-8.
SCHILDT, Herbert. Nauč se sám C. Praha : SoftPress, 2001. 624 s. ISBN 80-86497-16-X.
SCHILDT, Herbert. Nauč se sám C++. Praha : SoftPress, 2001. 624 s. ISBN 80-86497-13-6.
WxWidgets [online]. 2002 [cit. 2008-01-23]. Dostupný z WWW: http://www.wxwidgets.org/.
Recommended resources
BLIŽňÁK, Michal. Systémové programování. Zlín : Univerzita Tomáše Bati, 2005. 202 s. ISBN 80-7318-364-1.
WROBLEWSKI, Piotr. Algoritmy - datové struktury a programovací techniky. 1. vyd. Brno : Computer Press, 2004. 351 s. ISBN 80-251-0343-9.
LIBERTY, Jesse. Naučte se C++ za 21 dní. Brno : Computer Press, 2007. 796 s. ISBN 978-80-251-1583-1.
PETZOLD, Charles. Programování ve Windows. 1. vyd. Praha : Computer Press, 1999. 1216 s. ISBN 80-7226-206-8.
SCHILDT, Herbert. Nauč se sám C. Praha : SoftPress, 2001. 624 s. ISBN 80-86497-16-X.
SCHILDT, Herbert. Nauč se sám C++. Praha : SoftPress, 2001. 624 s. ISBN 80-86497-13-6.
WxWidgets [online]. 2002 [cit. 2008-01-23]. Dostupný z WWW: http://www.wxwidgets.org/.
Enclosed appendices
-
Appendices bound in thesis
-
Taken from the library
Yes
Full text of the thesis
Appendices
Reviewer's report
Supervisor's report
Defence procedure record
Student seznámil komisi s diplomovou prací. Po prezentaci následovaly dotazy:
1. Jaký je praktický přínos práce? (doc. Lukáš)
2. Který algoritmus je nejefektivnější? (doc. Kebo)
Student dotazy zodpověděl. Po diskusi následovalo zkoušení předmětů.