Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
…
6 pages
1 file
Binary Search Trees are frequently used data structure for rapid access to the stored data. Data structures like arrays, vectors and linked lists are limited by the trade-off between the ability to perform a fast search and resize easily. They are an alternative that is both dynamic in size and easily searchable. This paper addresses the performance analysis and measurement, collectively known as the Performance in complete and nearly complete binary search trees. Performance measurement in complete and nearly complete binary search trees is equally important aside from performance analysis to learn deviation from the optimality. To estimate this deviation, new performance criteria are introduced. A multi-key search algorithm is proposed and the related analysis has followed. The algorithm is capable of searching for multiple key elements in the same execution. This helps in pruning a subtree structure out of a given tree for further processing.
Binary Search Trees are a frequently used data structure for rapid access to the stored data. Data structures like arrays, vectors and linked lists are limited by the trade-off between the ability to perform a fast search and resize easily. They are an alternative that is both dynamic in size and easily searchable. Due to efficiency reason, complete and nearly complete binary search trees are of particular significance. This paper addresses the performance analysis and measurement, collectively known as the Performance in binary search tree search applications. Performance measurement is equally significant asides from the performance analysis to learn more about the deviation from optimality. To estimate this deviation, new performance criteria for the binary search trees are presented. A multi-key search algorithm is proposed and the related analysis followed. The algorithm is capable of searching for multiple key elements in the same execution, sacrificing some optimality in the ...
1974
This project documents the results of an investigation into binary search trees. Because of their favourable characteristics binary search trees have become popular for information storage and retrieval applications in a one level store. The trees may be of two types, weighted and unweighted. Various algorithms are presented, in a machine independent context, for both types and an empirical evaluation is performed. An important software aid used for graphically displaying a binary tree is also described.
Software: Practice and Experience, 1993
Much has been said in praise of self-adjusting data structures, particularly self-adjusting binary search trees. Self-adjusting trees are most suited to skewed key-access distributions as the techniques attempt to place the most commonly accessed keys near the root of the tree. Theoretical bounds on worst-case and amortized performance (i.e. performance over a sequence of operations) have been derived which compare well with those for optimal binary search trees. In this paper, we compare the performance of three different techniques for self-adjusting trees with that of AVL and random binary search trees. Comparisons are made for various tree sizes, levels of key-access-frequency skewness and ratios of insertions and deletions to searches. The results show that, because of the high cost of maintaining selfadjusting trees, in almost all cases the AVL tree outperforms all the self-adjusting trees and in many cases even a random binary search tree has better performance, in terms of CPU time, than any of the self-adjusting trees. Self-adjusting trees seem to perform best in a highly dynamic environment, contrary to intuition.
2009
Binary search tree (BST) is one of the most widely used techniques for searching in non-linear data structure. If the BST is not maintained in optimal shape then the searching and insertion may need extra number of comparisons. In present literature, several BST algorithms have been proposed to maintain the BST in optimal shape. Different researchers have focused mainly on finding the total running time of BST algorithms but no one has focused on solving the mystery of "using which BST algorithm under what scenario". In this paper, we present a thorough comparison of existing techniques that ultimately enables software developers to select a particular BST technique according to the faced data management scenario.
Binary Search is efficient due to it's logarithmic time complexity. It is used to identify the position of a key in a sorted list. Often, computer applications require searching for two to more different keys at the same execution. In this paper, a hybrid algorithm to perform the binary search with 2 to m different keys (m is an integer greater than or equal to 2) in a sorted list of elements is proposed. An m-key version of the proposed algorithm requires considering (2m + 1) different cases. Correctness proof of the algorithm is established using induction on the list size, n. Time complexity of the proposed algorithm is a function of 2 variables, namely, the number of keys, m and the list size, n, and is given as, O(mlog(n)) in both the worst and the average cases. The best case complexity is linear, which is O(m). Performance of 2 and 3-key versions is compared with the classical single key version. Possible key index combinations with the multi-key search strategies are als...
Journal of the ACM, 1985
The splay tree, a self-adjusting form of binary search tree, is developed and analyzed. The binary search tree is a data structure for representing tables and lists so that accessing, inserting, and deleting items is easy. On an n -node splay tree, all the standard search tree operations have an amortized time bound of O (log n ) per operation, where by “amortized time” is meant the time per operation averaged over a worst-case sequence of operations. Thus splay trees are as efficient as balanced trees when total running time is the measure of interest. In addition, for sufficiently long access sequences, splay trees are as efficient, to within a constant factor, as static optimum search trees. The efficiency of splay trees comes not from an explicit structural constraint, as with balanced trees, but from applying a simple restructuring heuristic, called splaying , whenever the tree is accessed. Extensions of splaying give simplified forms of two other data structures: lexicographic...
WSEAS Transactions on Computers, 2008
Abstract: Trees are frequently used data structures for fast access to the stored data. Data structures like arrays, vectors and linked lists are limited by the trade-off between the ability to perform a fast search and the ability to resize easily. Binary Search Trees are an ...
2007
Binary Search is fundamental to the study and analysis of Discrete Computational Structures. This is an efficient search strategy due to it's logarithmic time complexity. It is used to identify the position of a key in a sorted list. Often, database applications require searching for two to more different key elements at the same execution. This is particularly true if the database includes structural layering, which is based on a particular index or a field. In this paper, a hybrid algorithm to perform binary search with 2 to m different keys (m is an integer greater than or equal to 2) in a sorted list structure is proposed. An m-key version of the proposed algorithm requires considering (2m + 1) individual cases. Correctness proof of the algorithm is established using induction on the size of the list, n. Time complexity of the proposed algorithm is a function of 2 independent variables, m and n, which is, O(mlog(n)) in the worst, and also in the average cases. The best case complexity is linear on the number of the keys, which is O(m). Performance of the 2 and the 3-key versions is compared with the classical single key version. Possible key index combinations with the multi-key search strategies are explored for database applications. An extension of the algorithm known as the Multi-key Binary Insertion Search is also proposed. Applications of the proposed algorithms are considered together with a model employee database management program with improved efficiency.
Communications of the ACM, 1975
This paper develops the multidimensional binary search tree (or k-d tree, where k is the dimensionality of the search space) as a data structure for storage of information to be retrieved by associative searches. The k-d tree is defined and examples are given. It is shown to be quite efficient in its storage requirements. A significant advantage of this structure is that a single data structure can handle many types of queries very efficiently. Various utility algorithms are developed; their proven average running times in an n record file are : insertion, O(log n); deletion of the root, 0 (n (k--1)/k) ; deletion of a random node, O(log n); and optimization (guarantees logarithmic performance of searches), 0 (n log n).
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
Journal of information technology & software engineering, 2011
Acta Informatica, 1984