Relaxované vyvažování binárních vyhledávacích stromů
Relaxed rebalancing of binary search trees
diploma thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/8146Identifiers
Study Information System: 40272
Collections
- Kvalifikační práce [11217]
Author
Advisor
Referee
Koubek, Václav
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software systems
Department
Department of Software Engineering
Date of defense
5. 2. 2007
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Very good
Na rozdíl od klasických vyvážených binárních vyhledávacích stromů, kdy proces vyvažování následuje bezprostředně po každém vložení nebo ubrání prvku, relaxované vyvažování umožňuje oddělit tyto fáze a provést vyvažování odděleně. Má význam například při paralelním přístupu k datům, kdy je možné vyvažování odložit na dobu, kdy je systém málo zatížen požadavky uživatelů. Další výraznou výhodou popsaných typů relaxovaného vyvažování je to, že pri paralelním přístupu k datům potřebují držet pouze konstatní počet zámku při modifikujících operacích a umožnují tak více modifikujících operací současně ve stromu. Cílem této práce je experimentálne porovnat klasickou a relaxovanou variantu AVL stromu v několika různých scénárích v paralelním prostředí podle počtu porovnání, počtu a typu rotací a podle spotřebovaného času.
In standard binary trees the rebalancing is carried out in connection with and immediately folowing the updates. Relaxed balancing allows to separate updates and rebalancing. First advantage of this approach is to keep the tree partially unbalanced and leave rebalancing to the different time when system is idle. Other great benefit of presented relaxed balancing algorithms in concurrent enviroment is necessity of keeping only small constant number of locks for modifying operations and thus allowing more modifying operations in the tree at the same time. The aim of this thesis is to empirically compare standard and relaxed variant of AVL tree in several different scenarios in concurrent enviroment according to number of data compares, number and type of rotations and according to the time requirements.