We suggest a new non-recursive algorithm for constructing a binary search tree given an array of numbers. The algorithm has O(N) time and O(1) memory complexity if the given array of N numbers is sorted. The resulting tree is of minimal height and can be transformed to a complete binary search tree (retaining minimal height) with O(logN) time and O(1) memory. The algorithm allows simple and effective parallelization.
@article{arxiv.1902.02499,
title = {A fast algorithm for constructing balanced binary search trees},
author = {Pavel S. Ruzankin},
journal= {arXiv preprint arXiv:1902.02499},
year = {2022}
}