1 |
An Investigation of Self-Organizing Binary Search TreesFletcher, Donald R. 03 1900 (has links)
<p> This investigation examines several methods designed to minimize the computational cost of retrieving records from a binary search tree.</p> <p> No knowledge of the probabilities with which these records are requested is assumed. The aim of each method
is to gradually restructure an initial, arbitrary (and perhaps costly) tree into one which has minimal search cost, on the basis of experience.</p> <p> While no one such 'self-organizing' method has yet received theoretical substantiation, it is hoped that this empirial investigation may assist in this endeavour.</p> / Thesis / Master of Science (MSc)
|
2 |
Novel storage architectures and pointer-free search trees for database systemsVasaitis, Vasileios January 2012 (has links)
Database systems research is an old and well-established field in computer science. Many of the key concepts appeared as early as the 60s, while the core of relational databases, which have dominated the database world for a while now, was solidified during the 80s. However, the underlying hardware has not displayed such stability in the same period, which means that a lot of assumptions that were made about the hardware by early database systems are not necessarily true for modern computer architectures. In particular, over the last few decades there have been two notable consistent trends in the evolution of computer hardware. The first is that the memory hierarchy of mainstream computer systems has been getting deeper, with its different levels moving away from each other, and new levels being added in between as a result, in particular cache memories. The second is that, when it comes to data transfers between any two adjacent levels of the memory hierarchy, access latencies have not been keeping up with transfer rates. The challenge is therefore to adapt database index structures so that they become immune to these two trends. The latter is addressed by gradually increasing the size of the data transfer unit; the former, by organizing the data so that it exhibits good locality for memory transfers across multiple memory boundaries. We have developed novel structures that facilitate both of these strategies. We started our investigation with the venerable B+-tree, which is the cornerstone order-preserving index of any database system, and we have developed a novel pointer-free tree structure for its pages that optimizes its cache performance and makes it immune to the page size. We then adapted our approach to the R-tree and the GiST, making it applicable to multi-dimensional data indexes as well as generalized indexes for any abstract data type. Finally, we have investigated our structure in the context of main memory alone, and have demonstrated its superiority over the established approaches in that setting too. While our research has its roots in data structures and algorithms theory, we have conducted it with a strong experimental focus, as the complex interactions within the memory hierarchy of a modern computer system can be quite challenging to model and theorize about effectively. Our findings are therefore backed by solid experimental results that verify our hypotheses and prove the superiority of our structures over competing approaches.
|
3 |
Combinatorial problems related to sequences with repeated entriesArchibald, Margaret Lyn 15 November 2006 (has links)
Student Number : 9708525G -
PhD thesis -
School of Mathematics -
Faculty of Science / Sequences of numbers have important applications in the field of Computer Science.
As a result they have become increasingly regarded in Mathematics, since analysis
can be instrumental in investigating algorithms.
Three concepts are discussed in this thesis, all of which are concerned with ‘words’
or ‘sequences’ of natural numbers where repeated letters are allowed:
• The number of distinct values in a sequence with geometric distri-
bution
In Part I, a sample which is geometrically distributed is considered, with the
objective of counting how many different letters occur at least once in the
sample. It is concluded that the number of distinct letters grows like log n as
n → ∞. This is then generalised to the question of how many letters occur
at least b times in a word.
• The position of the maximum (and/or minimum) in a sequence
with geometric distribution
Part II involves many variations on the central theme which addresses the
question: “What is the probability that the maximum in a geometrically distributed
sample occurs in the first d letters of a word of length n?” (assuming
d ≤ n). Initially, d is considered fixed, but in later chapters d is allowed to
grow with n. It is found that for 1 ≤ d = o(n), the results are the same as
when d is fixed.
• The average depth of a key in a binary search tree formed from a
sequence with repeated entries
Lastly, in Part III, random sequences are examined where repeated letters
are allowed. First, the average left-going depth of the first one is found,
and later the right-going path to the first r if the alphabet is {1, . . . , r} is
examined. The final chapter uses a merge (or ‘shuffle’) operator to obtain
the average depth of an arbitrary node, which can be expressed in terms of
the left-going and right-going depths.
|
4 |
The Complexity of Splay Trees and Skip Lists.Sayed, Hassan Adelyar. January 2008 (has links)
<p>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.</p>
|
5 |
Designing Efficient Geometric Search Algorithms Using Persistent Binary-Binary Search TreesINAGAKI, Yasuyoshi, HIRATA, Tomio, TAN, Xuehou 20 April 1994 (has links)
No description available.
|
6 |
The Complexity of Splay Trees and Skip Lists.Sayed, Hassan Adelyar. January 2008 (has links)
<p>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.</p>
|
7 |
The Complexity of Splay Trees and Skip ListsSayed, Hassan Adelyar. January 2008 (has links)
Magister Scientiae - MSc / 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. / South Africa
|
8 |
Performance Study of Concurrent Search Trees and Hash Algorithms on Multiprocessors SystemsDemuynck, Marie-Anne 05 1900 (has links)
This study examines the performance of concurrent algorithms for B-trees and linear hashing. B-trees are widely used as an access method for large, single key, database files, stored in lexicographic order on secondary storage devices. Linear hashing is a fast and reliable hash algorithm, suitable for accessing records stored unordered in buckets. This dissertation presents performance results on implementations of concurrent Bunk-tree and linear hashing algorithms, using lock-based, partitioned and distributed methods on the Sequent Symmetry shared memory multiprocessor system and on a network of distributed processors created with PVM (Parallel Virtual Machine) software. Initial experiments, which started with empty data structures, show good results for the partitioned implementations and lock-based linear hashing, but poor ones for lock-based Blink-trees. A subsequent test, which started with loaded data structures, shows similar results, but with much improved performances for locked Blink- trees. The data also highlighted the high cost of split operations, which reached up to 70% of the total insert time.
|
9 |
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.
|
10 |
[en] TWO GRAPH OPTIMIZATION PROBLEMS: PIPELINE TRANSPORTATION AND SEARCHING WITH ACCESS COSTS / [pt] DOIS PROBLEMAS DE OTIMIZAÇÃO EM GRAFOS: TRANSPORTE EM REDES DE DUTOS E BUSCA COM CUSTOS DE ACESSOSARTUR ALVES PESSOA 07 January 2004 (has links)
[pt] Consideramos dois problemas de otimização combinatória: o
problema de transporte em redes de dutos (PTD) e o
problema
de busca com custos de acesso variados (PBC). No PTD, é
dado um grafo orientado G = (N,A) onde cada arco tem um
duto associado. Também é dado um conjunto de bateladas,
onde cada batelada está inicialmente em um nó ou arco do
grafo e tem um nó de destino. Algumas bateladas são
chamadas de proteláveis. O objetivo do PTD é encontrar
uma
sequência de operações que transporte todas as bateladas
não-proteláveis aos seus respectivos nós de destino.
Primeiro, demonstramos o PTD é NP-difícil, mesmo que o
grafo G seja acíclico. Em seguida, apresentamos um
algoritmo polinomial chamado de BPA. Este algoritmo
resolve
o PTDS, uma variação do PTD, para qualquer grafo G. Para
grafos acíclicos, o BPA minimiza uma função de custo
genérica. Para minimizar o makespan no PTDS, demonstramos
que não existe algoritmo polinomial n1-e - aproximado
para
nenhum E>0, a menos que P = NP, onde n é o tamanho da
instância. Este resultado também vale se G é acíclico e
planar. No PBC, são dados um vetor ordenado e o custo de
acessar cada um de seus n elementos. O objetivo do
problema
é encontrar uma estratégia de busca que minimize o custo
médio com probabilidades uniformes (PBCM) ou o custo do
pior caso (PBCN). Em ambos os casos, o melhor algoritmo
exato conhecido executa em tempo O(n3) e espaço O(n2).
Para
o PBCN, apresentamos o algoritmo da razão, que executa em
tempo O(n2) e espaço O(n). Este algoritmo sempre obtém
uma
solução de custo menor ou igual a 41n(n+1)/n, assumindo
que
a soma dos custos é 1. Além disso, desenvolvemos dois
algoritmos aproximados: um para o PBCM e outro para o
PBPC.
Ambos constroem soluções (2+E+0(1)) - aproximadas, para
qualquer E>0, em tempo e espaço O(n). / [en] We consider two combinatorial optimization problems the
pipeline transportation problem (PTD) and the problem of
searching with different access costs (PBC). In PTD, we are
given a directed graph G = (N,A) where each arc corresponds
to a pipeline. We are also given a set of batches, each
batch being initially located at an arc or node and having
a destination node. A subset of these batches are
considered as further batches. Our aim is to find a
sequence of pipeline operations leading all non-further
batches to their corresponding destination nodes. First, we
show that PDT is NP-hard, even for the case where G is
acyclic. Next, we present a polynomial algorithm called
BPA. This algorithm solves PTDS, a variation of PTD, for
general graphs. For acyclic graphs, BPA also minimizes a
general cost function. For the case of makespan
minimization for PTDS, we prove that there is no n1-e -
approximate algorithm for any E]0, unless P = NP, where n
is the instance size. The previous result also holds if G
is both ayclic and planar. In PBC, we are given an ordered
vector with n elements and the corresponding access costs.
Our aim is to find a search strategy that minimizes either
the average cost (PBPC). In both cases, the best known
exact algorithm requires in O(n3) time and O(n2) space. For
PBCM, we present the ratio algorithm, that requires O(n2)
time and O(n3)space. This algorithm always obtains a search
strategy with average cost at most 41n(n+1)/n, assuming the
sum of all access costs to be 1. Furthermore, we introduce
approximation algorithms for both PBCM and PBPC. Both of
them give (2+E+0(1)) - approximate solutions, for any E}0,
in O(n) time and space.
|
Page generated in 0.0374 seconds