We develop a method of representing binary search trees in an environment in which pointers and other structural information may be "lost" or "maliciously altered". Our fault tolerant representation permits any 2 field changes to be detected and any 1 to be corrected without significantly increasing to storage requirements of the binary tree. The detection and correction procedures applied to the entire tree require 0(n) time.Our discipline is also used to represent binary search trees with a single pointer per datum without altering the cost of searching or updating. While our scheme can be applied in conjunction with any underlying tree balancing scheme ([AVL], bounded balance [Nievergelt et al] etc), if no balancing scheme is employed, the trees we form will have significantly shorter search paths than those formed using the straightforward algorithm.
[1]
James P. Black,et al.
Principles of Data Structure Error Correction
,
1982,
IEEE Transactions on Computers.
[2]
M. AdelsonVelskii,et al.
AN ALGORITHM FOR THE ORGANIZATION OF INFORMATION
,
1963
.
[3]
Edward M. Reingold,et al.
Binary Search Trees of Bounded Balance
,
1973,
SIAM J. Comput..
[4]
David J. Taylor,et al.
Redundancy in Data Structures: Some Theoretical Results
,
1980,
IEEE Transactions on Software Engineering.
[5]
James P. Black,et al.
Redundancy in Data Structures: Improving Software Fault Tolerance
,
1980,
IEEE Transactions on Software Engineering.