SearcharxivSearch

arXiv subjects

Russell A. Brown

Publications and source records attributed to Russell A. Brown.

8 recordsLinked to original sources

A Comparison of Two Dynamic k-d Trees

Two methods have been proposed for building and modifying a dynamic k-d tree. One method stores the dynamic tree as a single k-d tree and rebalances that tree by rebuilding subtrees within the tree when those subtrees become unbalanced due to insertion of a k-dimensional tuple into the tree or deletion of a tuple from the tree. A second method composes a dynamic tree as a set of static k-d trees whose sizes are increasing integer powers of two; this tree's balance is maintained by rebuilding a static tree within the set upon insertion or deletion of a tuple. This article describes insertion and deletion algorithms for the second method, and compares the performance of the second method to the performance of the first method.

cs.DS

A Dynamic, Self-balancing k-d Tree

The original description of the k-d tree recognized that rebalancing techniques, used for building an AVL or red-black tree, are not applicable to a k-d tree, because these techniques involve cyclic exchange of tree nodes that violates the invariant of the k-d tree. For this reason, a static, balanced k-d tree is often built from all of the k-dimensional data en masse. However, it is possible to build a dynamic k-d tree that self-balances when necessary after insertion or deletion of each k-dimensional datum. This article describes insertion, deletion, and rebalancing algorithms for a dynamic, self-balancing k-d tree, and measures their performance.

cs.DS

Pulse Sequences to Observe NMR Coupled Relaxation in AXn Spin Systems

NMR pulse sequences that are modifications of the HSQC experiment are proposed to observe ${}^{13}\textrm{C}$-coupled relaxation in AX, AX$_2$, and AX$_3$ spin systems. ${}^{13}\textrm{CH}$ and ${}^{13}{\textrm{CH}}_2$ moieties are discussed as exemplary AX and AX$_2$ spin systems. The pulse sequences may be used to produce 1D or 2D proton NMR spectra.

physics.chem-ph

Building a Balanced k-d Tree in O(kn log n) Time

The original description of the k-d tree recognized that rebalancing techniques, such as are used to build an AVL tree or a red-black tree, are not applicable to a k-d tree. Hence, in order to build a balanced k-d tree, it is necessary to find the median of the data for each recursive subdivision of those data. The sort or selection that is used to find the median for each subdivision strongly influences the computational complexity of building a k-d tree. This paper discusses an alternative algorithm that builds a balanced k-d tree by presorting the data in each of k dimensions prior to building the tree. It then preserves the order of these k sorts during tree construction and thereby avoids the requirement for any further sorting. Moreover, this algorithm is amenable to parallel execution via multiple threads. Compared to an algorithm that finds the median for each recursive subdivision, this presorting algorithm has equivalent performance for four dimensions and better performance for three or fewer dimensions.

cs.DS

Review of Three Algorithms That Build k-d Trees

The original description of the k-d tree recognized that rebalancing techniques, such as used to build an AVL tree or a red-black tree, are not applicable to a k-d tree. Hence, in order to build a balanced k-d tree, it is necessary to find the median of a set of data for each recursive subdivision of that set. The sort or selection used to find the median, and the technique used to partition the set about that median, strongly influence the computational complexity of building a k-d tree. This article describes and contrasts three k-d tree-building algorithms that differ in their technique used to partition the set, and compares the performance of the algorithms. In addition, dual-threaded execution is proposed for one of the three algorithms.

cs.DS

Comparative Performance of the AVL Tree and Three Variants of the Red-Black Tree

This article compares the performance of the AVL tree to the performance of the bottom-up, top-down, and left-leaning red-black trees. The bottom-up red-black tree is faster than the AVL tree for insertion and deletion of randomly ordered keys. The AVL tree is faster than the bottom-up red-black tree for insertion but slower for deletion of consecutively ordered keys. The top-down red-black tree is faster than the bottom-up red-black tree for insertion but slower for deletion of randomly ordered keys, and slower for insertion and deletion of consecutively ordered keys. The left-leaning red-black tree is slower than the three other trees for insertion and deletion of randomly and consecutively ordered keys. An alternative deletion algorithm, which reduces the number of rebalancing operations required by deletion, is analyzed.

cs.DS

Building a Balanced k-d Tree with MapReduce

The original description of the k-d tree recognized that rebalancing techniques, such as are used to build an AVL tree or a red-black tree, are not applicable to a k-d tree. Hence, in order to build a balanced k-d tree, it is necessary to obtain all of the data prior to building the tree then to build the tree via recursive subdivision of the data. One algorithm for building a balanced k-d tree finds the median of the data for each recursive subdivision of the data and builds the tree in O(n log n) time. A new algorithm builds a balanced k-d tree by presorting the data in each of k dimensions prior to building the tree, then preserves the order of the k presorts during recursive subdivision of the data and builds the tree in O(kn log n) time. This new algorithm is amenable to execution via MapReduce and permits building and searching a k-d tree that is represented as a distributed graph.

cs.DS

Barycentric Coordinates as Interpolants

Barycentric coordinates are frequently used as interpolants to shade computer graphics images. A simple equation transforms barycentric coordinates from screen space into eye space in order to undo the perspective transformation and permit accurate interpolative shading of texture maps. This technique is amenable to computation using a block-normalized integer representation.

cs.GR