DocumentCode
1160825
Title
An efficient digital search algorithm by using a double-array structure
Author
Aoe, Jun-Ichi
Author_Institution
Dept. of Inf. Sci. & Syst. Eng., Tokusima Univ., Japan
Volume
15
Issue
9
fYear
1989
fDate
9/1/1989 12:00:00 AM
Firstpage
1066
Lastpage
1077
Abstract
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 cm 2, 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
Keywords
computational complexity; data structures; search problems; trees (mathematics); DS-tree; arc; constant; deletion; digital search algorithm; digital search tree; double-array structure; input symbols; insertion; internal array structure; key; list form; matrix form; nodes; retrieval; worst-case time complexity; Binary trees; Data structures; Dictionaries; Filters; Frequency; Information retrieval; Information science; Natural language processing; Systems engineering and theory; Vocabulary;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/32.31365
Filename
31365
Link To Document