Databázový systém pro numerické struktury - Kroilov, Viacheslav; Kroilov Viacheslav (České vysoké učení technické v Praze, 2017)
Numerická databáze zrychluje výpočet ukládáním mezivýsledků do pamětí. Kanonická implementace numerické databáze je založená na ohodnoceném binárním stromu - kombinace AVL-stromu a binární haldy. V této práci je diskutována i možnost využití jiných datových struktur, jak je Splay-strom a hašovácí tabulka. Navíc je zavedená zcela nová datová struktura - CNDC. Podporuje stejné operace jako ohodnocený binární strom, ale je přizpůsobená k použití ve vícevláknovém prostředí. Všechny zmíněné datové struktury jsou implementovány v programovacím jazyce C++ v podobě programovací knihovny numdb. Na závěr jsou uvedené výsledky měření výkonnosti implementovaných datových struktur.

Numerical databases speed up computations by memoizing pairs of an argument and the result, computed by a function with the argument. The canonical numerical database is based on the weighted search tree - a combination of the AVL tree and the binary heap. The application of alternative data structures, namely the hash table and the splay tree, is discussed in this thesis. In addition, a new data structure - CNDC - is introduced. It is similar to the weighted search tree, but all operations are declared as thread-safe. Data structures, mentioned above, are implemented in the C++ programming language as a programming library, called numdb. The performance of each data structure is measured, and the results are compared and discussed.
Numerical database system
Keywords: numerická databáze, vypočetní optimizace, splay strom, hašovací tabulka, datové struktury pro paralelní zpracování, vícevláknová synchronizace, fine-grained locking, C++; numerical database, computational optimization, splay tree, hash table, concurrent lookup data structure, thread synchronisation, fine-grained locking, C++