-
Notifications
You must be signed in to change notification settings - Fork 44
Expand file tree
/
Copy pathREADME
More file actions
53 lines (38 loc) · 1.9 KB
/
README
File metadata and controls
53 lines (38 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
datrie - Double-Array Trie Library
==================================
This is an implementation of double-array structure for representing trie,
as proposed by Junichi Aoe [1].
Trie is a kind of digital search tree, an efficient indexing method in which
search time is independent of database size. It only takes O(m) search time,
where m is the length of the search string. Comparably as efficient as hashing,
trie also provides flexibility on incremental matching and key spelling
manipulation. This makes it ideal for lexical analyzers, as well as spelling
dictionaries.
See the details of the implementation at [2]:
https://linux.thai.net/~thep/datrie/datrie.html
Historically, this was first implemented as C++ classes in a library called
midatrie [2], but later simplified and rewritten from scratch in C.
--
Theppitak Karoonboonyanan.
September 2006.
References
----------
[1] Aoe, J. "An Efficient Digital Search Algorithm by Using a Double-Array
Structure". IEEE Transactions on Software Engineering. Vol. 15, 9
(Sep 1989). pp. 1066-1077.
[2] Karoonboonyanan, T. "An Implementation of Double-Array Trie".
https://linux.thai.net/~thep/datrie/datrie.html
License
-------
Copyright (C) 2006-2026 Theppitak Karoonboonyanan
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see
<https://www.gnu.org/licenses/>.