Compact Prefix Tree
A serializable compact prefix tree (also known as Radix tree or Patricia tree or space-optimized trie) implementation in JavaScript.
Usage
Installation
npm install compact-prefix-tree
General Usage
import { CompactPrefixTree } from "compact-prefix-tree/index.js";
const { CompactPrefixTree } = require("compact-prefix-tree/cjs");
const items = [
"http://www.example.com/foo/",
"http://www.example.com/baz/",
];
const trie = new CompactPrefixTree(items);
trie.add("http://www.example.com/john/");
const p1 = trie.prefix("http://www.example.com/john/doe");
const p2 = trie.prefix("http://www.example.com/bazinga");
Serialization
const { CompactPrefixTree, getWordsFromTrie } = require("compact-prefix-tree");
const items = [
"http://www.example.com/foo/",
"https://www.example.com/baz/",
];
const trie = new CompactPrefixTree(items);
const serialized = JSON.stringify(trie.T);
const words = getWordsFromTrie(JSON.parse(serialized));
const trie2 = new CompactPrefixTree(Array.from(words));
License
[MIT License] Copyright 2018 Sid Vishnoi (https://sidvishnoi.github.io)