doublearray.ts
v0.1.3
Published
TypeScript implementation of Double-Array trie
Readme
Double-Array
TypeScript implementation of Double-Array trie.
Usage
Build
Node.js example
import doublearray from "doublearray.ts";
const words = [
{ k: "a", v: 1 },
{ k: "abc", v: 2 },
{ k: "奈良", v: 3 },
{ k: "奈良先端", v: 4 },
{ k: "奈良先端科学技術大学院大学", v: 5 },
];
const trie = doublearray.builder().build(words);Browser example
var words = [
{ k: "a", v: 1 },
{ k: "abc", v: 2 },
{ k: "奈良", v: 3 },
{ k: "奈良先端", v: 4 },
{ k: "奈良先端科学技術大学院大学", v: 5 },
];
var trie = doublearray.builder().build(words);Method chaining
var trie = doublearray
.builder()
.append("a", 1)
.append("abc", 2)
.append("奈良", 3)
.append("奈良先端", 4)
.append("奈良先端科学技術大学院大学", 5)
.build();Search
trie.contain("a"); // -> true
trie.lookup("abc"); // -> 2
trie.commonPrefixSearch("奈良先端科学技術大学院大学");
// -> [ { v: 3, k: '奈良' },
// { v: 4, k: '奈良先端' },
// { v: 5, k: '奈良先端科学技術大学院大学' } ]Load
Get BASE or CHECK buffer as Int32Array of typed array
const base_buffer = trie.bc.getBaseBuffer();
const check_buffer = trie.bc.getCheckBuffer();Load and create a new DoubleArray object from original buffers
const loaded_trie = doublearray.load(base_buffer, check_buffer);Copyright and license
Copyright (c) 2014 Takuya Asano All Rights Reserved.
This software is released under the MIT License. See LICENSE.txt
