Spelling suggestions: "subject:"skip lists"" "subject:"skip mists""
1 |
Estruturas de dados concorrentes: um estudo de caso em skip graphs. / Concurrent data structures: a case-study on skip graphsMendes, Hammurabi das Chagas 27 August 2008 (has links)
Muitos dos sistemas de computação existentes atualmente são concorrentes, ou seja, neles constam diversas entidades que, ao mesmo tempo, operam sobre um conjunto de recursos compartilhados. Nesse contexto, devemos controlar a concorrência das diversas operações realizadas, ou então a interferência entre elas poderia causar inconsistências nos recursos compartilhados ou nas próprias operações realizadas. Nesse texto, vamos tratar especificamente de estruturas de dados concorrentes, ou seja, estruturas de dados cujas operações associadas -- consideramos inserção, remoção e busca -- sejam passíveis de execução simultânea por diversas entidades. Tendo em vista o controle da concorrência, vamos adotar uma abordagem baseada no emprego de locks, uma primitiva de sincronização muito usual na literatura. Nossa discussão será apresentada em termos de certas estruturas de dados chamadas skip graphs, que têm propriedades interessantes para outros contextos, como o contexto de sistemas distribuídos. / Many existing computer systems are concurrent, or, in other words, they are composed of many entities that, at the same time, operate over some set of shared resources. In this context, we must control the concurrency of the operations, otherwise the interference between them could cause inconsistencies in the shared resources or in the operations themselves. In this text, we specifically discuss concurrent data structures, or, in other words, data structures over which the associated operations -- we consider insertion, removal and search -- could be executed simultaneously by various entities. In order to control the concurrency, we will employ an aproach based on the use of locks, a widely known synchronization primitive in the literature. Our discussion will be presented in terms of data structures called skip graphs, which have interesting properties in other contexts, as the context of distributed systems.
|
2 |
Estruturas de dados concorrentes: um estudo de caso em skip graphs. / Concurrent data structures: a case-study on skip graphsHammurabi das Chagas Mendes 27 August 2008 (has links)
Muitos dos sistemas de computação existentes atualmente são concorrentes, ou seja, neles constam diversas entidades que, ao mesmo tempo, operam sobre um conjunto de recursos compartilhados. Nesse contexto, devemos controlar a concorrência das diversas operações realizadas, ou então a interferência entre elas poderia causar inconsistências nos recursos compartilhados ou nas próprias operações realizadas. Nesse texto, vamos tratar especificamente de estruturas de dados concorrentes, ou seja, estruturas de dados cujas operações associadas -- consideramos inserção, remoção e busca -- sejam passíveis de execução simultânea por diversas entidades. Tendo em vista o controle da concorrência, vamos adotar uma abordagem baseada no emprego de locks, uma primitiva de sincronização muito usual na literatura. Nossa discussão será apresentada em termos de certas estruturas de dados chamadas skip graphs, que têm propriedades interessantes para outros contextos, como o contexto de sistemas distribuídos. / Many existing computer systems are concurrent, or, in other words, they are composed of many entities that, at the same time, operate over some set of shared resources. In this context, we must control the concurrency of the operations, otherwise the interference between them could cause inconsistencies in the shared resources or in the operations themselves. In this text, we specifically discuss concurrent data structures, or, in other words, data structures over which the associated operations -- we consider insertion, removal and search -- could be executed simultaneously by various entities. In order to control the concurrency, we will employ an aproach based on the use of locks, a widely known synchronization primitive in the literature. Our discussion will be presented in terms of data structures called skip graphs, which have interesting properties in other contexts, as the context of distributed systems.
|
3 |
The Complexity of Splay Trees and Skip ListsAdelyar, Sayed Hassan January 2008 (has links)
Magister Curationis / Binary search trees (BSTs) are important data structures which are widely used
in various guises. Splay trees are a specific kind of binary search tree, one without
explicit balancing. Skip lists use more space than BSTs and are related to them
in terms of much of their run-time behavior.
Even though binary search trees have been used for about half a century, there
are still many open questions regarding their run-time performance and algorith mic complexity. In many instances, their worst-case, average-case, and best-case
behaviors are unknown and need further research. Our analysis provides a basis
for selecting more suitable data structures and algorithms for specific processes
and applications.
We contrast the empirical behavior of splay trees and skip lists with their
theoretical behavior. In particular we explore when splay trees outperform skip
lists and vice versa.
The performance of a splay tree depends on the history of accesses to its el ements. On the other hand, the performance of a skip list depends on an indepen dent randomization of the height of links that lead to specific elements. Therefore,
probabilistic methods are used to analyze the operation of splay trees and skip
lists.
Our main results are that splay trees are faster for sorted insertion, where
AVL trees are faster for random insertion. For searching, skip lists are faster than
single class top-down splay trees, but two-class and multi-class top-down splay
trees can behave better than skip lists.
|
Page generated in 0.1494 seconds