Suffix tree construction with minimized branching
Suffix tree construction with minimized branching
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/40798Identifiers
Study Information System: 94985
Collections
- Kvalifikační práce [11325]
Author
Advisor
Referee
Kadlec, Rudolf
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Theoretical Computer Science
Department
Department of Software and Computer Science Education
Date of defense
3. 9. 2012
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
sufixový strom, konstrukční algoritmus, minimalizace větveníKeywords (English)
suffix tree, construction algorithm, minimization of branchingSufixový strom je datová struktura, která v textu umožňuje rychle vykonávat operace podobné vyhledávání. Aby ji bylo možné používat efektivně, musí být vytvořená rychle. V této práci se zaměříme na nový způsob simulace sufixových hran nazývaný "minimalizace větvení", který se snaží zvýšit rychlost konstrukce sufixového stromu pomocí znížení počtu větvícich operací. Naš hlavní cíl je předvést porovnání současných metod pro konstrukci sufixového stromu a poukázat na některé výhody a nevýhody jednotlivých postupů. Představíme, implementujeme a prakticky posoudíme několik variant standardních algoritmů jako jsou McCreightův a Ukkonenův, stejně tak jako algoritmu PWOTD, který byl původně navržen pro diskově orientovanou konstrukci. Náším hlavním výsledkem je ucelený popis a implementace těchto algoritmů, na kterých se dá dále stavět. Také předložíme jednoduchá doporučení ohledně toho kdy je vhodné použít konkrétní algoritmus a proč.
Suffix tree is a data structure which enables the performing of fast search-like operations on the text. In order to be used efficiently, it must be created quickly. In this thesis, we focus on the new kind of suffix link simulation called "minimized branching", which aims to increase the speed of suffix tree construction by reducing the number of branching operations. Our main goal is to present a comparison of the currently used methods for the suffix tree construction and to point out some advantages and disadvantages of the individual approaches. We introduce, implement and practically evaluate multiple variations of the standard McCreight's and Ukkonen's algorithms, as well as Partition and Write Only Top Down (PWOTD) algorithm, originally developed for disk-based construction. Our main result is the integrated description and implementation of these algorithms, which are both well-suited to be further built upon. We also present a simple recommendations on when it is advisable to use a particular algorithm's variation and why.