Abstract
We present the first snap-stabilizing distributed binary search tree (BST) algorithm. A snap-stabilizing algorithm guarantees that the system always behaves according to its specification provided some processor initiated the protocol. The maximum number of items that can be stored at any time at any processor is constant (independent of the size (n) of the network). Under this space constraint, we show a lower bound of Ω(n) on the time complexity for the BST problem. We then prove that starting from an arbitrary configuration where the nodes have distinct internal values drawn from an arbitrary set, our algorithm arranges them in a BST order in O(n) rounds. Therefore, our solution is asymptotically optimal in time and takes O(n) rounds. A processor i requires O(logs i ) bits of space where s i is the size of the subtree rooted at i. So, the root uses O(logn) bits. The proposed algorithm uses a heap algorithm as a preprocessing step. This is also the first snap-stabilizing distributed solution to the heap problem. The heap construction spends O(h) (where h is the height of the tree) rounds. Its space requirement is constant (independent of n). We then exploit the heap in the next phase of the protocol. The root collects values in decreasing order and delivers them to each node in the tree in O(n) rounds following a pipelined delivery order of sorted values in decreasing order.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bein, D., Datta, A.K., Villain, V.: Self-stabilizing Optimal Binary Search Tree. Tech Report (2005), http://www.cs.unlv.edu/siona/Research/SS/tech05a.pdf
Bui, A., Datta, A.K., Petit, F., Villain, V.: State-optimal snap-stabilizing PIF in tree networks. In: Proceedings of the Third Workshop on Self-Stabilizing Systems, pp. 78–85. IEEE Computer Society, Los Alamitos (1999)
Cormen, T., Leiserson, C., Rivest, R.: Introduction to Algorithms. The MIT Press, Cambridge (1992)
Cournier, A., Datta, A.K., Petit, F., Villain, V.: Enabling snap-stabilization. In: Proceedings of the Twentythird International Conference on Distributed Computing Systems, pp. 78–85. IEEE Computer Society, Los Alamitos (2003)
Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. In: EWD 391, In Selected Writings on Computing: A Personal Perspective, pp. 41–46 (1973)
Dolev, S.: Self-Stabilization. MIT Press, Cambridge (2000)
Dolev, S., Israeli, A., Moran, S.: Uniform dynamic self-stabilizing leader election. IEEE Transactions on Parallel and Distributed Systems 8(4), 424–440 (1997)
Herman, T., Masuzawa, T.: Available stabilizing heaps. Information Processing Letters 77, 115–121 (2001)
Herman, T., Masuzawa, T.: A stabilizing search tree with availability properties. In: Fifth International Symposium on Autonomous Decentralized Systems (ISADS 2001), pp. 398–405 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bein, D., Datta, A.K., Villain, V. (2005). Snap-Stabilizing Optimal Binary Search Tree. In: Tixeuil, S., Herman, T. (eds) Self-Stabilizing Systems. SSS 2005. Lecture Notes in Computer Science, vol 3764. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11577327_1
Download citation
DOI: https://doi.org/10.1007/11577327_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29814-4
Online ISBN: 978-3-540-32123-1
eBook Packages: Computer ScienceComputer Science (R0)