1.0.18 • Published 1 year ago

@navpreetdevpuri/trie-js v1.0.18

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

trie-js

Trie data structure implementation in javascript

Example

const Trie = require('@navpreetdevpuri/trie-js');

const names = [
  'Easton Bass',
  'Easdon Wilkinson',
  'Easfon Barreson',
  'Easgon Barrtera',
  'Easson banson',
  'Clarence Barrera',
  'Heidi Murphy',
];

const nodes = [];
names.forEach((name) => {
  const [firstName, lastName] = name.split(' ');
  const node = {
    key: `${firstName}${lastName}`.replace(/\s/g, ''), // remove spaces
    value: {
      firstName,
      lastName,
    },
  };
  nodes.push(node);
});

const trie = new Trie(nodes, true); // caseInsensitive = true

console.log(
  trie.search({
    skip: 1,
    limit: 2,
    prefix: 'Eas',
    contains: 'son',
    reverse: false,
  })
);
/* 
[
  { currPrefix: 'easfonbarreson', values: [ [Object] ] },
  { currPrefix: 'eassonbanson', values: [ [Object] ] }
]
*/

console.log(trie.getPreorderPredecessorAndSuccessorForNewkey('eastonbassy'));
/*
{
  predecessorValues: [ { firstName: 'Easton', lastName: 'Bass' } ],
  successorValues: [ { firstName: 'Heidi', lastName: 'Murphy' } ]
}
*/

console.log(
  trie.getPreorderPredecessorAndSuccessorForExistingKey('eastonbass')
);
/*
{
  predecessorValues: [ { firstName: 'Easson', lastName: 'banson' } ],
  successorValues: [ { firstName: 'Heidi', lastName: 'Murphy' } ]
}
*/
1.0.18

1 year ago

1.0.17

1 year ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago