An efficient digital search algorithm by using a double-arraystructure
Aoe, J.-I.
Software Engineering, IEEE Transactions on
Volume 15, Issue 9, Sep 1989 Page(s):1066 - 1077
Digital Object Identifier 10.1109/32.31365
Summary:An efficient digital search algorithm that is based on an internal
array structure called a double array, which combines the fast access of
a matrix form with the compactness of a list form, is presented. Each
arc of a digital search tree, called a DS-tree, can be computed from the
double array in 0(1) time; that is to say, the worst-case time
complexity for retrieving a key becomes 0(k) for the length
k of that key. The double array is modified to make the size
compact while maintaining fast access, and algorithms for retrieval,
insertion, and deletion are presented. If the size of the double array
is n+cm, where n is the number of nodes of
the DS-tree, m is the number of input symbols, and c
is a constant particular to each double array, then it is theoretically
proved that the worst-case times of deletion and insertion are
proportional to cm and cm2, respectively,
and are independent of n. Experimental results of building the
double array incrementally for various sets of keys show that c
has an extremely small value, ranging from 0.17 to 1.13
View citation and abstract |