Samoupravující seznamy
Self-organizing linear lists
Samoupravující seznamy
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/48275Identifikátory
SIS: 90590
Katalog UK: 990013840170106986
Kolekce
- Kvalifikační práce [11978]
Autor
Vedoucí práce
Oponent práce
Babka, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
5. 9. 2011
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Slovenština
Známka
Dobře
Klíčová slova (česky)
vyhledávání, lineární seznam, samoupravující seznamKlíčová slova (anglicky)
search, linear list, self-organizing listSamoupravující seznamy Samoupravující seznamy jsou datové struktury sloužící k rychlému vyhledávání za předpokladu, že některé prvky v nich uložené jsou vyhledávány častěji než jiné, přičemž pravděpodobnosti přístupu k jednotlivým prvkům obecně nejsou předem známy. Efektivnějšího vyhledávání je dosaženo použitím různých permutačních pravidel, která průběžně mění uspořádání seznamu tak, aby častěji vyhledávané prvky byly blíže k jeho začátku. V této práci je uveden přehled známých algoritmů pro řešení tohoto problému (s uvedením teoretických výsledků o jejich složitosti, jsou-li známy) a experimentální studie o jejich chování (s využitím vlastních nebo volně dostupných implementací a programových prostředků pro generování vstupních dat, testování algoritmů a zpracování výsledků experimentů).
Self-organizing linear lists Self-organizing linear lists are data structures for fast search, provided that certain elements stored in them are searched more frequently than others, while the probability of access to individual elements is generally not known in advance. Efficient search is achieved using different permutation rules that keep changing the list structure so that the more frequently searched elements are closer to the beginning. This thesis gives an overview of known algorithms for solving this problem (with the theoretical results about their complexity, if they are known), and experimental study of their behavior (using its own or freely available implementations and software for generating input data, testing algorithms and processing the results of experiments).
