search trees
Recently Published Documents


TOTAL DOCUMENTS

599
(FIVE YEARS 48)

H-INDEX

33
(FIVE YEARS 3)

2022 ◽  
Vol 18 (1) ◽  
pp. 1-11
Author(s):  
Marek Chrobak ◽  
Mordecai Golin ◽  
J. Ian Munro ◽  
Neal E. Young

We present a simple O(n 4 ) -time algorithm for computing optimal search trees with two-way comparisons. The only previous solution to this problem, by Anderson et al., has the same running time but is significantly more complicated and is restricted to the variant where only successful queries are allowed. Our algorithm extends directly to solve the standard full variant of the problem, which also allows unsuccessful queries and for which no polynomial-time algorithm was previously known. The correctness proof of our algorithm relies on a new structural theorem for two-way-comparison search trees.


2022 ◽  
pp. 1962-1975
Author(s):  
Bryce Sandlund ◽  
Lingyi Zhang
Keyword(s):  

2021 ◽  
Author(s):  
Alexander SchultheiB ◽  
Paul Maximilian Bittner ◽  
Lars Grunske ◽  
Thomas Thum ◽  
Timo Kehrer
Keyword(s):  

2021 ◽  
Vol XXIV (1) ◽  
pp. 117-121
Author(s):  
VASILIU Paul

The organization of a set in the form of a heap is the basis for the construction of binary search trees. The algorithm for organizing a set in the form of a pile is laborious and requires a high volume of resources. In this paper we have automated the algorithm for organizing a set in the form of a heap. We developed a program in the C++ programming language that implements the heap generation algorithm and I analyzed a numerical example.


Author(s):  
Mareike Fischer

AbstractTree balance plays an important role in different research areas like theoretical computer science and mathematical phylogenetics. For example, it has long been known that under the Yule model, a pure birth process, imbalanced trees are more likely than balanced ones. Also, concerning ordered search trees, more balanced ones allow for more efficient data structuring than imbalanced ones. Therefore, different methods to measure the balance of trees were introduced. The Sackin index is one of the most frequently used measures for this purpose. In many contexts, statements about the minimal and maximal values of this index have been discussed, but formal proofs have only been provided for some of them, and only in the context of ordered binary (search) trees, not for general rooted trees. Moreover, while the number of trees with maximal Sackin index as well as the number of trees with minimal Sackin index when the number of leaves is a power of 2 are relatively easy to understand, the number of trees with minimal Sackin index for all other numbers of leaves has been completely unknown. In this manuscript, we extend the findings on trees with minimal and maximal Sackin indices from the literature on ordered trees and subsequently use our results to provide formulas to explicitly calculate the numbers of such trees. We also extend previous studies by analyzing the case when the underlying trees need not be binary. Finally, we use our results to contribute both to the phylogenetic as well as the computer scientific literature using the new findings on Sackin minimal and maximal trees to derive formulas to calculate the number of both minimal and maximal phylogenetic trees as well as minimal and maximal ordered trees both in the binary and non-binary settings. All our results have been implemented in the Mathematica package SackinMinimizer, which has been made publicly available.


2021 ◽  
Vol 73 (1) ◽  
pp. 134-141
Author(s):  
A.R. Baidalina ◽  
◽  
S.A. Boranbayev ◽  

The article discusses ways of programming algorithms for complex data structures in Python. Knowledge of these structures and the corresponding algorithms is necessary when choosing the best methods for developing various software. When studying the subject "Algorithms and Data Structures", it is important to understand the essence of data structures. This is due to the fact that manipulating a data structure to fit a specific problem requires an understanding of the essence and algorithms of this data structure. Examples of programming algorithms related to dynamic lists and binary search trees in the currently widely used Python language are given. The algorithms for traversing the graph in depth and breadth are optimally and clearly implemented using the Python dictionary.


Sign in / Sign up

Export Citation Format

Share Document