English

Novel O(H(N)+N/H(N)) Algorithmic Techniques for Several Types of Queries and Updates on Rooted Trees and Lists

Data Structures and Algorithms 2013-03-25 v1

Abstract

In this paper we present novel algorithmic techniques with a O(H(N)+N/H(N)) time complexity for performing several types of queries and updates on general rooted trees, binary search trees and lists of size N. For rooted trees we introduce a new compressed super-node tree representation which can be used for efficiently addressing a wide range of applications. For binary search trees we discuss the idea of globally rebuilding the entire tree in a fully balanced manner whenever the height of the tree exceeds the value of a conveniently chosen function of the number of tree nodes. In the end of the paper we introduce the H-list data structure which supports concatenation, split and several types of queries. Note that when choosing H(N)=sqrt(N) we obtain O(H(N)+N/H(N))=O(sqrt(N)).

Keywords

Cite

@article{arxiv.1303.5481,
  title  = {Novel O(H(N)+N/H(N)) Algorithmic Techniques for Several Types of Queries and Updates on Rooted Trees and Lists},
  author = {Mugurel Ionut Andreica},
  journal= {arXiv preprint arXiv:1303.5481},
  year   = {2013}
}