Modelování dynamických stromů
Modelling Dynamic Trees
diplomová práce (OBHÁJENO)
![Náhled dokumentu](/bitstream/handle/20.500.11956/14843/thumbnail.png?sequence=7&isAllowed=y)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/14843Identifikátory
SIS: 46104
Kolekce
- Kvalifikační práce [11264]
Autor
Vedoucí práce
Oponent práce
Holubová, Irena
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
26. 5. 2008
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Existuje velké množství algoritmů, které pracují se stromovými grafy. Různé algoritmy mohou pro své potřeby reprezentovat stejný strom prostřednictvím odlišných datových struktur. Chceme-li provozovat více takových algoritmů současně nad jedním lesem, může se stát, že každý bude potřebovat svou vlastní reprezentaci tohoto lesa. Pokud se les navíc průběžně mění přidáváním a odebíráním hran, musí se tyto změny přenášet do datových struktur všech provozovaných algoritmů. Takový postup však není efektivní. Bylo navrženo několik datových struktur, nad kterými lze současně provozovat různé stromové algoritmy. Každá z těchto struktur vyniká některými vlastnostmi, ale má také své slabiny. Rozumný kompromis představují Top-stromy. V této práci se zabýváme Top-stromy. Nejprve vytvoříme implementaci Top-stromů a celou ji podrobně popíšeme. Speciálně pro sestavování algoritmů nad navrženou datovou strukturou pak vyvineme programovací jazyk Top Tree Friendly Language (TFL). Kombinuje v sobě deklarativní přístup s procedurálním, čímž velmi zjednodušuje a urychluje návrh stromových algoritmů. Nakonec vytvoříme dotazovací jazyk Top Tree Query Language (TQL), který umožňuje naši strukturu pohodlně spravovat. Implementace Top-stromů, programovací jazyk TFL a dotazovací jazyk TQL dohromady tvoří komplexní řešení pro práci s...
There exist many algorithms that work over tree graphs. Any of them can use di erent data structures to represent the same tree. If we need to run several of these algorithms over one forest together each one could use its own representation of the forest. Moreover if the forest dynamically changes over the time by edge insertions and deletions all these changes have to be reflected into data structures of all algorithms. This is not efficient. Thus several data structures have been proposed to solve this problem. Any of them is good at some properties, but each has a weak point. It appears that Top Trees provide the most acceptable trade-o ff. This thesis deals with Top Trees. First we build an implementation of the structure and describe it in detail. Then a programming language called Top Tree Friendly Language (TFL) is developed exclusively for algorithm designing over our data structure. It combines declarative and procedural approaches that results in simpler and faster algorithm designing. Finally we present Top Tree Query Language (TQL) that provides an easy Top Trees administration. The implementation of Top Trees, the programming language TFL and the query language TQL together form a complex solution for using Top Trees.