Results 11 - 20
of
22
Experimental study of high performance priority queues, 2007. Undergraduate Honors Thesis
, 2007
"... The priority queue is a very important and widely used data structure in computer science, with a variety of applications including Dijkstra’s Single Source Shortest Path algorithm on sparse graph types. This study presents the experimental results of a variety of priority queues. The focus of the e ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The priority queue is a very important and widely used data structure in computer science, with a variety of applications including Dijkstra’s Single Source Shortest Path algorithm on sparse graph types. This study presents the experimental results of a variety of priority queues. The focus of the experiments is to measure the speed and performance of highly specialized priority queues in out-of-core and memory intensive situations. The priority queues are run in-core on small input sizes as well as out-of-core using large input sizes and restricted memory. The experiments compare a variety of well-known priority queue implementations such as Binary Heap with highly specialized implementations, such as 4-ary Aligned Heap, Chowdhury and Ramachandran’s Auxiliary Buffer Heap, and Fast Binary Heap. The experiments include Cache-Aware as well as Cache-Oblivious priority queues. The results indicate that the high-performance priority queues easily outperform traditional implementations. Also, overall the Auxiliary Buffer Heap has the best performance among the priority queues considered in most in-core and out-of-core situations. 1 1
Queaps
, 2002
"... We present a new priority queue data structure, the queap, that executes insertion in O(1) amortized time and extract-min in O(log(k + 2)) amortized time if there are k items that have been in the heap longer than the item to be extracted. Thus if the operations on the queap are rst-in rst-out ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We present a new priority queue data structure, the queap, that executes insertion in O(1) amortized time and extract-min in O(log(k + 2)) amortized time if there are k items that have been in the heap longer than the item to be extracted. Thus if the operations on the queap are rst-in rst-out, as on a queue, each operation will execute in constant time. This idea of trying to make operations on the least recently accessed items fast, which we call the queueish property, is a natural complement to the working set property of certain data structures, such as splay trees and pairing heaps, where operations on the most recently accessed data execute quickly. However, we show that the queueish property is in some sense more dicult than the working set property by demonstrating that it is impossible to create a queueish binary search tree, but that many search data structures can be made almost queueish with a O(log log n) amortized extra cost per operation.
Near-entropy hotlink assignments
- In Proceedings of the 14th Annual European Symposium on Algorithms (ESA
, 2006
"... Abstract. Consider a rooted tree T of arbitrary maximum degree d representing a collection of n web pages connected via a set of links, all reachable from a source home page represented by the root of T. Each web page i carries a weight wi representative of the frequency with which it is visited. By ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. Consider a rooted tree T of arbitrary maximum degree d representing a collection of n web pages connected via a set of links, all reachable from a source home page represented by the root of T. Each web page i carries a weight wi representative of the frequency with which it is visited. By adding hotlinks — shortcuts from a node to one of its descendents — we wish to minimize the expected number of steps l needed to visit pages from the home page, expressed as a function of the entropy H(p) of the access probabilities p. This paper introduces several new strategies for effectively assigning hotlinks in a tree. For assigning exactly one hotlink per node, our method guarantees an upper bound on l of 1.141H(p)+1 if d> 2 and 1.08H(p)+2/3 if d = 2. We also present the first efficient general methods for assigning at most k hotlinks per node in trees of arbitrary maximum degree, achieving bounds on l of at most
Design and Analysis of Algorithms: Course Notes
"... Contents 1 Overview of Course 3 1.1 Amortized Analysis : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2 Splay Trees 5 2.1 Use of Splay Operations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.2 Time for a Splay Operation ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Contents 1 Overview of Course 3 1.1 Amortized Analysis : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2 Splay Trees 5 2.1 Use of Splay Operations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.2 Time for a Splay Operation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 3 Amortized Time for Splay Trees 8 3.1 Additional notes : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 4 Maintaining Disjoint Set's 12 4.1 Disjoint set operations: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 4.2 Data structure: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 4.3 Union by rank : : : : : : : : : : : : : : : : :
APPLICATIOIU OF SPLAY TREES TO DATA COMPRESSION
"... The splay-prefix algorithm is one of the simplest and fastest adaptive data compression algorithms based on the use of a prefix code. The data structures used in the splay-prefix algorithm can also be applied to arithmetic data compression. Applications of these algorithms to encryption and image pr ..."
Abstract
- Add to MetaCart
The splay-prefix algorithm is one of the simplest and fastest adaptive data compression algorithms based on the use of a prefix code. The data structures used in the splay-prefix algorithm can also be applied to arithmetic data compression. Applications of these algorithms to encryption and image processing are suggested.
Rotation Distance, Triangulations of Planar Surfaces and Hyperbolic Geometry (Extended Abstract)
- PROC. ISAAC'94 (5TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND ALGEBRAIC COMPUTATION
, 1994
"... In a beautiful paper, Sleator, Tarjan and Thurston solved the problem of maximum rotation distance of two binary trees. Equivalently they solved the problem of rotation distance of triangulations on the disk. We extend their results to rotation distance of triangulations of other planar surfaces ..."
Abstract
- Add to MetaCart
In a beautiful paper, Sleator, Tarjan and Thurston solved the problem of maximum rotation distance of two binary trees. Equivalently they solved the problem of rotation distance of triangulations on the disk. We extend their results to rotation distance of triangulations of other planar surfaces. We give upper and lower bounds for this problem. Equivalently, by duality, one can interpret our results as bounds for rotation distance of the dual graphs of the triangulation graphs. They are the counter parts to binary trees in the case of disk. In the case of the annulus, by cutting along an edge between the inner and outer boundary circles, we obtain rooted binary trees with a distinguished path to a leaf. The upper bound is obtained by looking at the triangulations in the universal covering space, and the lower bound is obtained by extending and applying the technique of volume estimate in hyperbolic geometry.
Srikanth Ramamurthy. ALock-Free Approach to Object Sharing in Real-Time Systems
, 1997
"... This work aims to establish the viabilityoflock-free object sharing in uniprocessor real-time systems. Naive usage of conventional lock-based object-sharing schemes in realtime systems leads to unbounded priority inversion. A priority inversion occurs when a task is blocked by a lower-priority task ..."
Abstract
- Add to MetaCart
This work aims to establish the viabilityoflock-free object sharing in uniprocessor real-time systems. Naive usage of conventional lock-based object-sharing schemes in realtime systems leads to unbounded priority inversion. A priority inversion occurs when a task is blocked by a lower-priority task that is inside a critical section. Mechanisms that bound priority inversion usually entail kernel overhead that is sometimes excessive. We propose that lock-free objects o er an attractive alternative to lock-based schemes because they eliminate priority inversion and its associated problems. On the surface, lock-free objects may seem to be unsuitable for hard real-time systems because accesses to such objects are not guaranteed to complete in bounded time. Nonetheless, we present scheduling conditions that demonstrate the applicability of lock-free objects in hard real-time systems. Our scheduling conditions are applicable to schemes such as
Algorithms for the Character Theory of the Symmetric Group
"... The representation theory of the symmetric groups Su- aside from being extremely elegant and interesting in its own right- can be used in a number of ways to obtain information about the representation theory of other classes of groups. This theory also turns out to have applications in such diverse ..."
Abstract
- Add to MetaCart
The representation theory of the symmetric groups Su- aside from being extremely elegant and interesting in its own right- can be used in a number of ways to obtain information about the representation theory of other classes of groups. This theory also turns out to have applications in such diverse areas of interest as atomic physics and quantum chemistry
Open Data Structures (in Java)
"... I am grateful to Nima Hoda, who spent a summer tirelessly proofreading many of the chapters in this book, and to the students in the Fall 2011 offering of COMP2402/2002, who put up with the first draft of this book and spotted many typographic, grammatical, and factual errors in the first draft. i W ..."
Abstract
- Add to MetaCart
I am grateful to Nima Hoda, who spent a summer tirelessly proofreading many of the chapters in this book, and to the students in the Fall 2011 offering of COMP2402/2002, who put up with the first draft of this book and spotted many typographic, grammatical, and factual errors in the first draft. i Why This Book? There are plenty of books that teach introductory data structures. Some of them are very good. Most of them cost money, and the vast majority of computer science undergraduate students will shell-out at least some cash on a data structures book. Thereareafewfreedatastructuresbooksavailableonline. Someareverygood,but most of them are getting old. The majority of these books became free when the author and/or publisher decided to stop updating them. Updating these books is usually not
Open Data Structures (in C++)
"... I am grateful to Nima Hoda, who spent a summer tirelessly proofreading many of the chapters in this book, and to the students in the Fall 2011 offering of COMP2402/2002, who put up with the first draft of this book and spotted many typographic, grammatical, and factual errors in the first draft. i P ..."
Abstract
- Add to MetaCart
I am grateful to Nima Hoda, who spent a summer tirelessly proofreading many of the chapters in this book, and to the students in the Fall 2011 offering of COMP2402/2002, who put up with the first draft of this book and spotted many typographic, grammatical, and factual errors in the first draft. i Preface to the C++ Edition This book is intended to teach the design and analysis of basic data structures and their implementation in an object-oriented language. In this edition, the language happens to be C++. This book is not intended to act as an introduction to the C++ programming language. Readers of this book need only be familiar with the basic syntax of C++ and similar languages. Those wishing to work with the accompanying source code should have some experience programming in C++. This book is also not intended as an introduction to the C++ Standard Template Library or the generic programming paradigm that the STL embodies. This book describes implementations of several different data structures, many of which are used in implementations

