Skip to content

Commit 3729fe0

Browse files
simplify usage
1 parent 384725b commit 3729fe0

File tree

4 files changed

+63
-3
lines changed

4 files changed

+63
-3
lines changed

README.md

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,44 @@
22
[Tries](https://www.youtube.com/watch?v=3CbFFVHQrk4) are data structures that can be used to store sequences - e.g. words as sequences of letters.
33
Tries support faster and more precise query executions related to those sequences.
44

5-
## Usage Examples
5+
## Classical Tries
6+
### Usage Examples
67

7-
Please check the [unit tests](https://github.com/distributed-ledger-technology/tries/blob/main/src/trie.spec.ts) to explore usage examples
8+
```ts
9+
10+
import { Trie } from "https://deno.land/tries/mod.ts"
11+
12+
const trie = new Trie()
13+
14+
const exampleSequence1 = "be"
15+
const exampleSequence2 = "bet"
16+
const exampleSequence3 = "bed"
17+
const exampleSequence4 = "bed and breakfast"
18+
const exampleSequence5 = "justice"
19+
20+
trie.insert(exampleSequence1)
21+
trie.insert(exampleSequence3)
22+
trie.insert(exampleSequence2)
23+
trie.insert(exampleSequence5)
24+
trie.insert(exampleSequence4)
25+
26+
console.log(trie.hasSequence(exampleSequence3)) // true
27+
console.log(trie.hasSequence(exampleSequence4)) // true
28+
console.log(trie.hasSequence("breakfast")) // false because it is not added as a discrete sequence
29+
console.log(trie.hasSequence("missing")) // false
30+
31+
```
32+
33+
34+
## Patricia Tries
35+
### Usage Examples
36+
[Patricia Tries](https://de.wikipedia.org/wiki/Patricia-Trie) ...
37+
38+
## Unit Tests
39+
For further usage examples etc. please check the [unit tests](https://github.com/distributed-ledger-technology/tries/blob/main/src/trie.spec.ts).
40+
41+
## Contribute
42+
Contributions / Pull Requests are welcome.
843

944

1045

mod.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./src/trie.ts"

src/trie.spec.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,21 @@ const trie = new Trie()
66
const exampleSequence1 = "be"
77
const exampleSequence2 = "bet"
88
const exampleSequence3 = "bed"
9-
const exampleSequence4 = "justice"
9+
const exampleSequence4 = "bed and breakfast"
10+
const exampleSequence5 = "justice"
1011

1112
trie.insert(exampleSequence1)
1213
trie.insert(exampleSequence3)
1314
trie.insert(exampleSequence2)
15+
trie.insert(exampleSequence5)
1416
trie.insert(exampleSequence4)
1517

1618

1719
Deno.test("should check if sequence is available", async () => {
1820

1921
assertEquals(trie.hasSequence(exampleSequence3), true)
2022
assertEquals(trie.hasSequence(exampleSequence4), true)
23+
assertEquals(trie.hasSequence("breakfast"), false) // because it is not added as a discrete sequence
2124
assertEquals(trie.hasSequence("missing"), false)
2225

2326
})

usage-example.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { Trie } from "https://deno.land/tries/mod.ts"
2+
// import { Trie } from "./src/trie.ts"
3+
4+
const trie = new Trie()
5+
6+
const exampleSequence1 = "be"
7+
const exampleSequence2 = "bet"
8+
const exampleSequence3 = "bed"
9+
const exampleSequence4 = "bed and breakfast"
10+
const exampleSequence5 = "justice"
11+
12+
trie.insert(exampleSequence1)
13+
trie.insert(exampleSequence3)
14+
trie.insert(exampleSequence2)
15+
trie.insert(exampleSequence5)
16+
trie.insert(exampleSequence4)
17+
18+
console.log(trie.hasSequence(exampleSequence3)) // true
19+
console.log(trie.hasSequence(exampleSequence4)) // true
20+
console.log(trie.hasSequence("breakfast")) // false because it is not added as a discrete sequence
21+
console.log(trie.hasSequence("missing")) // false

0 commit comments

Comments
 (0)