scispace - formally typeset
Journal ArticleDOI

An efficient digital search algorithm by using a double-array structure

Jun-ichi Aoe
- 01 Sep 1989 - 
- Vol. 15, Iss: 9, pp 1066-1077
Reads0
Chats0
TLDR
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.
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/sup 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. >

read more

Citations
More filters
Proceedings ArticleDOI

Fast Methods for Kernel-Based Text Analysis

TL;DR: A Basket Mining algorithm is extended to convert a kernel-based classifier into a simple and fast linear classifier, showing results that show that these new classifiers are about 30 to 300 times faster than the standard kernel- based classifiers.
Book

Text Entry Systems: Mobility, Accessibility, Universality

TL;DR: This book covers different aspects of text entry systems and offers prospective researchers and developers global guidelines for conducting research on text entry, in terms of design strategy, evaluation methodology, and requirements.
Proceedings ArticleDOI

Bridge Text and Knowledge by Learning Multi-Prototype Entity Mention Embedding

TL;DR: A novel Multi-Prototype Mention Embedding model is proposed, which learns multiple sense embeddings for each mention by jointly modeling words from textual contexts and entities derived from a knowledge base, and an efficient language model based approach to disambiguate each mention to a specific sense.
Journal ArticleDOI

How to Make the Most of NE Dictionaries in Statistical NER

TL;DR: This work has established a novel way to improve the NER performance by adding NEs to an NE dictionary without retraining, which indicates how to make the most of known NEs in statistical NER.
Journal ArticleDOI

A trie compaction algorithm for a large set of keys

TL;DR: Theoretical and experimental observations show that the method presented is more practical than existing ones considering the use of dynamic key sets, information storage of keys and compression of transitions, and can uniquely determine information corresponding to keys while a DAWG cannot.
References
More filters
Book

Compilers: Principles, Techniques, and Tools

TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
Journal ArticleDOI

Efficient string matching: an aid to bibliographic search

TL;DR: A simple, efficient algorithm to locate all occurrences of any of a finite number of keywords in a string of text that has been used to improve the speed of a library bibliographic search program by a factor of 5 to 10.
Book

Data Structures and Algorithms

TL;DR: The basis of this book is the material contained in the first six chapters of the earlier work, The Design and Analysis of Computer Algorithms, and has added material on algorithms for external storage and memory management.

Yacc : Yet Another Compiler Compiler

S. C. Johnson, +1 more
TL;DR: Yacc provides a general tool for describing the input to a computer program, together with code to be invoked as each such structure is recognized, and turns such a specification into a subroutine that handles the input process.
Journal ArticleDOI

Trie memory

TL;DR: In this paper several paradigms of trie memory are described and compared with other memory paradigm, their advantages and disadvantages are examined in detail, and applications are discussed.